Jump to content
Corsair Community

UI is constantly laging


Matelot

Recommended Posts

Hello,

 

I'm posting about problem I have since two years, and wich first occured under Windows7 and is still present under Windows 10.

 

SHORT STORY

---------------

I got a Corsair Strafe RGB keyboard plugged in my PC, working fine, but iCUE desktop software is having a kind of UI laging making its use nearly impossible.

For example, when I want to browse the profiles list, clicking on the corresponding area takes ages to display the list.

 

LONG STORY

---------------

Here's the details :

 

1 - When double-clicking on the systray icon, iCue takes around 8 seconds to popup its UI.

 

2 - Once opened, switching between the three first menus in the ribbon at the top is okay, but when clicking on "Réglages" (in french it means "Settings"), the UI takes again a ten of seconds to display the page.

 

3 - When in the "Welcome" tab to edit my profiles, clicking on the profiles icon to display the list of profiles takes around a ten or dozen of second too.

 

4 - Cliking on any profile on the list also take a ten of seconds. Switching between them is a pain.

 

5 - Cliking on the device (for exemple, my Strafe RGB) immediatly open the sub-menus of the selected profile, but the "ACTIONS" sub-menu, if selected, while opening instantly the page, takes some time to give the hand (clicking on any action during a ten of second will freeze the UI).

 

6 - The "LIGHT EFFECTS" sub-menu opens and react correctly.

 

7 - The "LIBRARY" sub-menu seems to open and react correctly too (I don't use it, it's empty).

 

8 - Any quick selection of a profile with dedicated keyboard shortcuts, takes a ten of second to apply if iCUE is still opened.

 

9 - But quick profile selection is instant if iCUE is closed (wich at least is not a problem for gaming).

 

10 - All the rest is working fine (auto-selection of profiles related to detected executables, shortcuts, effects, etc).

 

-------------

 

Any click during those laps of freezing time (in steps 2,3,4) makes the UI window to display "Not responding..." in its titlebar.

 

This problem makes the changes on my profiles very painfull : every time I want to just access one profile, it's 8sec for the popup + 10s for accessing the list of profiles + 10 sec for selecting a profile name.

 

Switching to an other profile to apply a similar modifiction is just more pain, not mentioning when I need to clean an obsolete action on each of my six profiles and need to open them successively... :brick:

 

Please understand that it is a very unbearable problem, and I want to fix it asap. I edited my hardware profile, but here's a summary of the software part :

- Windows 10

- Kaspersky

- All VCredist installed.

- Net.Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, and 4.7

- F.lux, Asuite, Playnite, X-Mouse Button, Discord, Steam, BattleNet, Spotify, ... all working great.

 

Tests effectued, with no success :

- Updated iCUE and Strafe RGB firmware.

- I disabled NVIDIA use of my GTX 960 with iCue.

- I uncheck CORE0 affinity on all iCue processes.

Edited by Matelot
Link to comment
Share on other sites

  • 1 year later...
  • 2 weeks later...

I found out that CUE is using QML, in AppData\Local\Corsair\CUE\cache\qmlcache.

 

So, maybe Corsair should improve its code so the UI isn't freezing each time the general process is using time-consuming back end operations ?

 

https://katastrophos.net/harmattan-dev/html/guide/html/Developer_Library_Best_practices_for_application_development_QML_performance_tips_and_tricks.html

 

When programming with QML, consider the following best practices for application architecture:

 

• Construct the QML UI without an extensive use of **********. (note : seriously ? The word "Jav4scr1pt" is forbidden ?)

• Implement the application engines or application logic outside of the UI interface in C++ to improve efficiency.

• Partition the application UI into QML files so that each file contains a logical UI entity. Do not use one large QML file for each application. This way, loading and unloading are easier to control.

Time-consuming operations (> N ms) must be implemented as asynchronous server calls, or by using threads so that the UI can update itself while the application is doing time-consuming back end operations.

Edited by Matelot
Link to comment
Share on other sites

×
×
  • Create New...