CListViewCtrl Performance

rakesh sharma 1 Reputation point
2023-01-06T12:01:10.923+00:00

Hello,

We have a dialog that displays list of files with checkbox to let users select which files to download.
The list view control ATLControls::CListViewCtrl is used. When displaying the dialog, we iterate through each file in the list, and based on some condition we either tick the checkbox or not using ListView_SetCheckState.

For around 1000 files ListView_SetCheckState takes 2 to 3 seconds on our system and same files take 44 seconds on customer system.

dependencywalker shows comctl32.dll is different between ours and customer systems.

Version of comctl32.dll from our system as shown by dependencywalker
C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.22621.608_none_42d541138da2ebd2\comctl32.dll"

Version of comctl32.dll from customer system as shown by dependencywalker
c:\windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.19041.1110_none_c0da534e38c01f4d\COMCTL32.DLL

Customer system has older version of files. Could this be the reason for performance difference? If yes how to get the system updated with latest dlls? Are these dlls part of some windows update?

Customer is running Windows 10 version 21H1 (OS Build 19043.2364). Our system has Windows 11 version 22H2 (OS Build 22621.963)

Thank You,
Rakesh

C++
C++
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
2,632 questions
{count} votes