http://bugs.winehq.org/show_bug.cgi?id=14303
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com 2009-07-24 19:01:10 --- (In reply to comment #7)
How can I be sure if that is broken or not, if I have never seen specs on these? I've looked through MSDN but have not found any notions regarding LVS_OWNERDATA.
I've already done this with recently included tests. It seems not to be documented that ownerdata lists throw a single notification (for all items case).
If slowdown is in a huge amount of messages it can't be fixed in listview and is a general messaging performance issue.
This can't be so. I've just checked that in windows with the same huge listview and it works immediately. It's like it was with bug #12701.
BTW, Igor, could you try to disable notifications in set_main_item() function:
It helped, but only a bit. It's still very slow.
BTW, another issue found here: there is even more noticeable slowdown when you click some item after you have selected them all (that is when all items get unselected).
I see, will look at dropping selection code too, thanks.
I don't have enough time now, could you produce something like a benchmark (compilable on linux, as a crossbuild too)? Then we could profile it to find where we spend most of the time.
I think that I do not understand well what I need to do.
Nevermind. I was talking about some interactive test application to shows this issue.
Well, I see that your test case is for select all case only. But you should know that there is huge difference in performance not only in select all, but also in partial selects.
So, the reason is that we iterate when we could probably avoid it. I'll take a look at it.