On Fri, 23 Oct 2026 10:22:58 GMT, Marius Hanl <[email protected]> wrote:

>> Something I found out while experimenting in 
>> https://github.com/openjdk/jfx/pull/2051.
>> It was on my list to do since then.
>> 
>> The `VirtualFlow` can end up creating 1-2 unnecessary cells, which then are 
>> never used. They just sit in the pile.
>> This happens because we may end up calling `addLeadingCells` although our 
>> first cell is already on position `0`, so at the top - there is no cell 
>> above us.
>> 
>> In this scenario, we do not need to call `addLeadingCells`.
>> 
>> Also added the optimization I found in the PR mentioned above.
>> When we have 10 visible cells, size 25px and scroll 10px, we will have 11 
>> cells visible. 
>> If we scroll to the top again, we will have 10 cells visible again -- and in 
>> this case we will remove it from the `sheet`. 
>> But the pile could contain even more piled cells (e.g. when the application 
>> size got smaller, we have less cells to render, all remaining cells went 
>> into the pile). 
>> So the removal is a bit faster with that method, instead of always calling 
>> `removeAll`. Same functionality.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Marius Hanl has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   another for-loop

Thank you for making the changes!

-------------

Marked as reviewed by angorya (Reviewer).

PR Review: https://git.openjdk.org/jfx/pull/2308#pullrequestreview-5630804512

Reply via email to