Closed kazuser closed 3 months ago
Hi Digao, did you fix the performance issue reported by Kazuser. I plan to use DzHTMLText as labels for my forms. Some forms has many many fields grouped in a TScrollbox to allow long forms instead of using Tabs.
Hello @kazuser
I have been analyzing your project "TDzHTMLText.zip". There are two situations in your project that make the Canvas extremely heavy.
The use of the property Transparent = True. This causes the component to be unable to work with a cached bitmap to assemble all the content to be displayed. This makes the painting process very slow.
You are using the TControlList control, which already has its own painting control for reusing the same component. This results in the forced painting of the component multiple times. I ran a test with your project in Debug mode. By simply hovering the mouse over an item in the list without doing anything else, the Paint method of the component is triggered at least 8 times (for the visible items in the list). This is due to the call to SetText of the component, which forces its reloading.
In this case, it would be more advantageous to work with independently constructed controls in a list, so as to maintain the internal canvas processing of each one.
Hello @Rik69 ,
About the use of the component in a ScrollBox, I made tests by building several components. The component's painting is extremely fast and only occurs on components that are visible in the ScrollBox. Therefore, even with many components, only those within the screen area will be painted.
The main issue arises when using the Transparent = True property. This property prevents the component from using internal caching, making the painting process very slow.
Hi there!
1920x1080 (100% scale): is it possible to improve performance (like JVCL)? Window resizing is slow, text scrolling is slow too (if the window is maximized).
TDzHTMLText.zip
TJvHTLabel.zip