[Rev 03] RFR: 8088198: Exception thrown from snapshot if dimensions are larger than max texture size

Nir Lisker nlisker at openjdk.java.net
Fri Jan 24 16:34:38 UTC 2020


On Fri, 24 Jan 2020 16:26:38 GMT, Frederic Thevenet <github.com+7450507+fthevenet at openjdk.org> wrote:

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

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

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


More information about the openjfx-dev mailing list