> 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:

  bulk remove

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/2308/files
  - new: https://git.openjdk.org/jfx/pull/2308/files/e2e60735..f22e721b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=2308&range=02
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=2308&range=01-02

  Stats: 10 lines in 1 file changed: 9 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jfx/pull/2308.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2308/head:pull/2308

PR: https://git.openjdk.org/jfx/pull/2308

Reply via email to