[Rev 03] RFR: 8088198: Exception thrown from snapshot if dimensions are larger than max texture size
arapte at openjdk.java.net
Mon Jan 20 05:07:11 UTC 2020
On Mon, 20 Jan 2020 05:07:11 GMT, Frederic Thevenet <github.com+7450507+fthevenet at openjdk.org> wrote:
>> This PR aims to address the following issue: JDK-8088198 Exception thrown from snapshot if dimensions are larger than max texture size
>> In order to do that, it simply captures snapshots in multiple tiles of maxTextureSize^2 dimensions (or less, as needed), and then recomposes all the tiles into a a single image.
>> Other than that, the logic used to do the actual snapshot is unchanged.
>> Tests using the existing SnapshotCommon class have been added in a new file named Snapshot3Test under SystemTest/test/javafx/scene.
>> These tests pass with the proposed fix, and fail without, throwing " java.lang.IllegalArgumentException: Unrecognized image loader: null"
> The pull request has been updated with 2 additional commits.
Looks good to me.
Below is just an observation about time taken by the API,
Platform: `Windows10`, `maxTextureSize`: 4096
For a snapshot of (4096 * n, 4096 * n): each call to `doSnapshotTile()` takes ~100 ms, and each call to `setPixels()` takes ~30 ms.
Please wait for one more approval before integrating.
Marked as reviewed by arapte (Reviewer).
More information about the openjfx-dev