RFR: 8238954: Improve performance of tiled snapshot rendering

Frederic Thevenet github.com+7450507+fthevenet at openjdk.java.net
Fri Feb 28 17:58:00 UTC 2020

Issue JDK-8088198, where an exception would be thrown when trying to capture a snapshot whose final dimensions would be larger than the running platform's maximum supported texture size, was addressed in openjfx14.
The fix, based around the idea of capturing as many tiles of the maximum possible size and re-compositing the final snapshot out of these, is currently only attempted after the original, non-tiled, strategy has already failed.
This was decided to avoid any risk of regressions, either in terms of performances and correctness, while still offering some relief to the original issue.

This follow-on issue aims to propose a fix to the original issue, that is able to correctly decide on the best snapshot strategy (tiled or not) to adopt before applying it and ensure best performances possible when tiling is necessary while still introducing no regressions compared to the original solution.


 - e13b5a06: Use tiling in QuantumToolkit::renderToImage when requested image is larger than max texture size
 - b914a48d: Revert "8088198: Exception thrown from snapshot if dimensions are larger than max texture size"

Changes: https://git.openjdk.java.net/jfx/pull/112/files
 Webrev: https://webrevs.openjdk.java.net/jfx/112/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8238954
  Stats: 173 lines in 2 files changed: 84 ins; 50 del; 39 mod
  Patch: https://git.openjdk.java.net/jfx/pull/112.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/112/head:pull/112

PR: https://git.openjdk.java.net/jfx/pull/112

More information about the openjfx-dev mailing list