Faster execution?

I’ve only been at this ui.vision thing for a few weeks. and I already have routines that are 1000+ lines long.

Is there a way to speed up execution beyond setting !replayspeed to “fast”?

Even “fast” isn’t very fast. It wastes a ton of time, for example, visually representing where it is on a live basis and (more importantly/wasteful) spending time on comments. Similar code, for example, run without the GUI would happen in picoseconds.

There are things you can’t do anything about. For example, ui.vision has no control over how long a website takes to refresh. But once a script is finished, it would be nice if the author could bump up “fast” to “plaid” and have things happen super-quick.

I have found one way to speed things up considerably though: don’t use logical controls (if, else, for, while) whereever possible. Instead, use a single executeScript and have as much as possible handled directly in Javascript and then work with the result. No matter how complex the JS inside is, an executeScript line is virtually instantaneous vs. watching the green line dance over multiple lines.

As an example: let’s say i have an array that’s 1000 elements in length and I want to match a single one. If I use foreach or while in ui.vision, that’s going to take several minutes even at the “fast” speed. If I instead pass the array to an executeScript and do the exact same thing it is done in < 1s. But readability is GREATLY reduced by doing this. It would be AWESOME if there was a way for you guys to combine the two concepts.

Just a thought.

Use “nodisplay” speed instead of fast

Hmm … I missed that in the documentation. Thank you.