forcing screen refresh

I’m looking to do some script optimizations but i have some questions about screen refreshing.

[quote=“eggplant reference”]Force Screen Refresh
Select this checkbox to force the Viewer window to redraw the SUT after every line of script executed. (For more
information, see The ForceScreenRefresh, in Global Properties.)[/quote]

Is the screen refreshed even after lines of the script that are purely logical and do not interact with the SUT? Are there any system spec suggestions that would guide people in choosing to use or not use this option?

I’m using real vnc because ultra vnc has some annoying properties. Why is there this limitation with real vnc? Is it a memory problem or just a limitation of vnc? I guess i’ll give tight vnc a try.

What sort of “optimizations” are you looking to do? ForceScreenRefresh is not an optimization – it forces a full screen update after each SUT interaction (I don’t think it’s after just any line of the script, but that’s a detail I’m not sure of.) This is much slower than the normal behavior which is just to provide updates for the portions of the screen that have been redrawn and there’s almost never any reason to enable that behavior. If you’re having some sort of problem with your scripts, please let us know and we’ll be happy to offer some suggestions.

I tried using the option with force screen refresh enabled AND realvnc, and it worked beautifully. I’ll post some stats on the time% saved tomorrow. Maybe the issue that realvnc used to have with refreshing is no longer present in the latest version?

oh i’m looking for temporal optimizations–and this options seems to have givin me some (though i need to run more tests tomorrow). It looks like that isn’t expected, based on your reply, though. heh :slight_smile:

I had definite performance gains using the force refresh option:

Script A runtime:
force refresh enabled: 11:57
force refresh disabled: 12:46
[size=18]% difference: 7%[/size]

Script B runtime:
force refresh enabled: 2:04
force refresh disabled: 3:11
[size=18]% difference: 35%[/size]

I guess it’s worth noting that script A has about 7 minutes of “wait” time, so its expected that there wouldn’t be as much of a difference.

Should i be nervous that I’m using this option for performance gains when it’s not the intended use?

After consulting with the developers, it seems that the only time you would get a speed boost from this setting is if you were not getting appropriate updates from the VNC server – either if they were not coming across at all or there were artifacts in them that prevented matching. When looking for an image, eggPlant searches the screen up to 7 times (using the default setting). Before each search, it processes and applies any updates received from the VNC server – these will generally be partial updates covering any part of the screen that has changed since the last udpate. If it hasn’t found the image after the 6th sweep of the screen, it makes a last ditch effort to find it by requesting a full screen update before embarking on a final search. The setting in question makes it do a full screen update before each of the previous 6 searches as well, so you can see why it would be slower if the VNC updates were occurring properly.

The fact that you appear to be seeing a bump in speed suggests that you might want to take a look at your VNC polling options – it could be that some screen updates are being ignored in anything less than a full screen update. If the image being searched for is appearing on the screen, it should be picked up by a partial screen update. Since a partial screen update is smaller and thus quicker than a full screen update, a properly functioning VNC server should provide quicker script execution with “Force Full Screen Refresh” turned off.