Story about setting
About one week ago I tried to build my own C++ application with GUI. The layout of application was pretty straightforward, it contained one combobox, one checkedListbox, a few checkboxes and buttons. I decided to use wxWidgets for GUI part...
On my home PC everything was fine. App worked smoothly and I didn't see any lags. But when I started this app on my work machine, the picture changed a bit. The startup time was still little, but when I tried to quickly scroll either combobox or checkedListbox control, I discovered ugly UI lags. The issue was reproducible on another machines on my work too, so I had no doubts that something isn't OK with my app. After this I went home and tested the app one more time. I found that when I maximize window, the issue is reproducible as well, although the visible lags are less noticeable.
As expected, the first thing I started to suspect were wxWidgets itself. I spend about 2 hours in Google but it seemed like I was the first guy which met this issue. I had enough time to curse wxWidgets and me itself for my decision to use them :)
At the highest degree of desperation I decided to build a simple .NET application and test how controls behave themselves on this platform. It was a surprise for me, because I observed the exactly same behavior, the exactly same UI lags. This caused me to think that probably the wxWidgets aren't the root of the issue and I should look somewhere else.
One more half of hour in Google and I discovered a few Internet articles which recommended to tweak one UI setting in Windows. After I made changes the issue totally went away. It was solved for both .NET and my C++ application. Next day I went to my work, tweaked this setting too and again the issue was solved and performance was on high level. The same happened on other machines after this small change.
I haven't found a way to disable this setting locally for my application, so decided to add one-time warning during first startup.
How to disable the setting
First of all we need to open System properties and go to Advanced system settings:
No comments:
Post a Comment