About the patch, I am still making some changes, but what I've done is the this. Currently the object inspector draws every row even if it doesn't need redrawing. I modified the SetItemIndex method to InvalidateRect the OldIndex and NewIndex, then only redraw those two rows in DoPaint. I added a public Fast property for testing so that you can toggle between the old behavior and new behavior at runtime, allowing users to measure the difference both in responsiveness and CPU usage.
So far with this change if you click, hold down the mouse, and drag up/down quickly in the inspector the lag seems greatly reduced, as well as less CPU usage. I have not testing how this effects Windows/Qt/Mac yet, but as I said in my OP those platforms/widget sets did not suffer from the same laggy like behavior. Either way, shortly I'll submit it with a patch, a stand alone example testing program, and let others try it for themselves. Next I might tackle the lagginess in drag moving controls on the form designer. Does that seem like a laggy problem to anyone else?
-- _______________________________________________ Lazarus mailing list [email protected] https://lists.lazarus-ide.org/listinfo/lazarus
