[Rev 03] RFR: 8088198: Exception thrown from snapshot if dimensions are larger than max texture size
Frederic Thevenet
github.com+7450507+fthevenet at openjdk.java.net
Fri Jan 24 16:56:03 UTC 2020
On Fri, 24 Jan 2020 16:34:29 GMT, Nir Lisker <nlisker at openjdk.org> wrote:
>> And here are the results with the change in this PR, on the same machine under Windows 10:
>>
>> | | 1024 |2048 |3072 |4096 |5120 |6144 |7168 |8192 |
>> |---|---|---|---|---|---|---|---|---|
>> | 1024 | 6.957774 | 10.461498 | 14.721024 | 19.279638 | 47.508266 | 56.585089 | 64.522117 | 53.448326 |
>> | 2048 | 10.990480 | 19.284461 | 28.235822 | 41.067555 | 92.818088 | 106.782334 | 120.907050 | 112.852554 |
>> | 3072 | 15.642648 | 28.502151 | 59.541998 | 55.663658 | 130.654226 | 149.805330 | 205.212356 | 169.002232 |
>> | 4096 | 19.882252 | 41.287722 | 59.493687 | 73.809264 | 169.212467 | 200.212097 | 247.934609 | 246.412543 |
>> | 5120 | 49.986204 | 97.986781 | 126.127089 | 167.274104 | 217.063815 | 276.812929 | 307.276073 | 366.800463 |
>> | 6144 | 66.546156 | 104.339809 | 150.171765 | 206.282107 | 272.486419 | 321.178983 | 365.822047 | 410.087087 |
>> | 7168 | 66.894654 | 119.510866 | 176.002883 | 248.937222 | 314.721516 | 380.834398 | 430.858648 | 482.499047 |
>> | 8192 | 67.040207 | 112.831977 | 161.852173 | 237.588749 | 319.667719 | 382.151556 | 437.810832 | 451.865266 |
>
>> Here are the results when running JavaFX 14-ea+7.
>> The columns of the table correspond the width of the target snapshot, while the rows correspond to the height and the content of the cells is the average time* spent (in ms) in `Node::snapshot`
>> (*) each test is ran 10 times and the elapsed time is averaged after pruning outliers, using Grubbs' test.
>>
>> 1024 2048 3072 4096 5120 6144 7168 8192
>> 1024 6.304272 10.303935 15.052336 35.929304 23.860095 28.828812 35.315288 27.867205
>> 2048 11.544367 21.156326 28.368750 28.887164 47.134738 54.354708 55.480251 56.722649
>> 3072 15.503187 30.215269 41.304645 39.789648 82.255091 82.576379 96.618722 106.586547
>> 4096 20.928336 38.768648 64.255423 52.608217 101.797347 132.516816 158.525192 166.872889
>> 5120 28.693431 67.275306 68.090280 76.208412 133.974510 157.120373 182.329784 210.069066
>> 6144 29.972591 54.751002 88.171906 104.489291 147.788597 185.185643 213.562819 228.643761
>> 7168 33.668398 63.088490 98.756212 130.502678 196.367121 225.166481 239.328794 260.162501
>> 8192 40.961901 87.067460 128.230351 178.127225 198.479068 225.806211 266.170239 325.967840
>
> Any idea why 4096x1024 and 1024x4096 are so different? Same for 8192x1024 and 1024x8192.
I don't, to be honest.
The results for some dimensions (not always the same) can vary pretty widely from one run to another, despite all my effort to repeat results and remove outliers.
Out of curiosity, I also tried to eliminate the GC as possible culprit by running it with epsilon, but it seems to make a significant difference.
I ran that test on a laptop with Integrated Intel graphics and no dedicated vram (Intel UHD Graphics 620), though, so this might be why.
Maybe someone could try and run the bench on hardware with a discreet GPU?
-------------
PR: https://git.openjdk.java.net/jfx/pull/68
More information about the openjfx-dev
mailing list