Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance problem with FastObjectListView #1

Open
CanadianHusky opened this issue Jul 12, 2019 · 9 comments
Open

Performance problem with FastObjectListView #1

CanadianHusky opened this issue Jul 12, 2019 · 9 comments
Assignees

Comments

@CanadianHusky
Copy link

Hello,

are you able to resolve the scrolling performance issue mentioned in these threads of the original control ?

https://sourceforge.net/p/objectlistview/discussion/812922/thread/1d466b3b75/

Your ObjectListView fork suffers from the same Problem

Test case : FastObjectListview : 10 text columns, 1000 rows with a hardcoded most simple aspectgetter - a simple string

To create the Problem - Hold the Keyboard down arrow and watch what happens in Task Manager when the control needs to scroll. CPU Time maxes out on the main UI thread. The videos in the link above show the problem as well. Scrolling goes lines by line and UI Thread is locked so bad that no other meaningful operations can be performed when the down/up arrows are kept pressed and the control is scrolling.

Try the same with 20 columns and the control becomes unusable and is anything but "fast"

Try disabling all columns (hide) and leave only the first - scroll now...that is the desired scroll performance.

I am willing to make a donation to the Person/Team that can make a super responsive FastObjectListview (using the base ObjectListview 2.9.1+ code/features) that has no scrolling problem with 20 columns

Thank you kindly

@christianjunk
Copy link
Member

@CanadianHusky The problem should now have been solved. I released v2.9.2 here at GitHub and at the MyGet feed: https://www.myget.org/feed/geomatics/package/nuget/ObjectListView.Official. For testing I have used an object with 10 properties and a list with 10.000 entries.

@CanadianHusky
Copy link
Author

I am currently downloading your latest code and will report back, thank you very much

@christianjunk
Copy link
Member

I will also upload a demo project in a few minutes ...

@CanadianHusky
Copy link
Author

Unfortunately there is no significant performance improvement based on my test

Here is a minimalistic demo app in action
image

holding the arrow button down shows an open/closed box on odd/even rows.
as soon as the control needs to scroll on the vertical axis (downwards or upwards), CPU time is maxed out on the main thread and the box image does not change and any application events are not executed anymore

here is the demo app exe and your latest dll 2.9.2.21800 installed via NuGet
https://www.dropbox.com/s/5k7u48awitkx0bi/Release.zip?dl=0

here is the source code of the demo app for your own testing. you will see that the aspect getters and the setup code of the Listview cannot get any simpler
https://www.dropbox.com/s/qh0jifugraajw0k/PT_FOLV%20for%20PP.zip?dl=0

if you link my demo app against OLV 2.1 you will see lightning fast difference

@christianjunk christianjunk reopened this Sep 24, 2019
@christianjunk
Copy link
Member

Please take a look at the following demo code: https://www.dropbox.com/s/6al5e3k79c2df3t/2019-09-24%40143857_ObjectListViewIssue1.7z?dl=0

@CanadianHusky
Copy link
Author

I reviewed your sample
your sample scrolls indeed faster.
It is however generated with generic objects and autogenerated columns, and no aspect getters. Meaning it is a proof of concept.
I will investigate further as my sample, closer to a real world app, behaves different (and slower) than your sample.
thank you

@mat02
Copy link

mat02 commented Mar 17, 2020

To follow up this topic.
Since introduction of FastListView in https://github.com/geomatics-io/ObjectListView/commit/268db1d8c484a3c0a0ec4069026cdd52384439eb FastObjectListView seems to have dropped support for features like Hot Items, Alternate row back color, Checkbox rendering in boolean columns and so on. Is this intentional? Is there any way to keep this features while still using FastListView as ObjectListView base for speed?

@perplexityjeff
Copy link

I would have liked to have a fix for this as well. The FastObjectListView could be so much better.

@ppw0
Copy link

ppw0 commented Oct 9, 2024

I get the same behavior in ObjectListView and FastObjectListView.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants