> 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
