Here's an interesting one.

I am working on a solution that makes minimal use of data traffic between client and server while presenting some quite complicated stuff on screen (ok so it's a planner that works by dragging and dropping icons to and from containers and displaying the actual data using global variables). So at any one time there may be around 112 global variables active. (4 weeks x 7 days x 4 variables per day). This works fine and speedy. A typical change of planning items (dragging an item to another day, to the trash, from the todo list to a day) takes 1 second. The actual data is written to the server using a script that runs on the server (ie. create, delete and modify the planning records).

Here's what I have run into now. On some configurations of hardware this process may take up to a minute which is unacceptable.
Writing the data to the server takes no time at all. The crucial item is the Refresh Window script step. I've timed this by taking timestamps at various points in the scripts and comparing them.

I have been able to pinpoint the problem to there being an external monitor connected to the windows laptops, either directly using a HDMI cable or via a dock that has three HDMI screens attached. Using a win laptop by itself is fast, a macbook in any configuration is fast, wifi network or ethernet network is fast, even with a remote connection it's fast.

I know for a fact that extensive usage of global variables is not a problem. Another solution I have built has 495 global variables in memory during the whole session, in order to create a multilingual user interface. Every button, script dialog, field label in every user layout has one variable attached and these are very function rich layouts. At any one time up to 100 variables are displayed on screen. This works zoomingly fast. Screen refreshes do not pose a problem here in the same configuration (so a windows laptop with multiple screens attached).

So my suspects at this time are
- the container fields on the layout (4 x 7 x 2 = 56 in all) that are causing the screen refresh panic.
- I am working with my client to see if the hardware drivers can be updated but this will have to wait till after the holidays.

Keeping you posted but also kindly asking for your thoughts on this, if there are other options available for optimizing and or stuff I may have overlooked.

ps for what it's worth: the hardware config of the wintel laptops is

Intel graphics
graphical memory 1,4 GB
video memory 64 MB
Intel I5 quad core 2,5 GHz
32 bit hardware

Powered by WPeMatico