JDK-8102901 : Implement packing region cache
  • Type: Enhancement
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: 8
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2013-06-05
  • Updated: 2015-06-16
  • Resolved: 2013-08-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Fixed
Related Reports
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Relates :  
Description
Cache all the background textures from RT-30922/RT-22429/RT-23463 into a single texture to minimize number of rendering context changes.
Comments
I actually marked this issue dependent on RT-30922.
24-07-2013

It has a dependency because RT-30922 basically defines what to cache which is important. Cache settings are sensitive to what data to cache.
24-07-2013

1) I can think of the following problems: - it was not tested thoroughly - there is some texture space waste (see screenshot in RT-30925) which I was trying to avoid by doing heuristics on how to pack the stuff better. One approach was to use two textures for horizontal and vertical packing but that probably just increased the wasting. Better approach was to ignore width difference when it reaches some level. For example, packing images with width of 20 into a column with width of 32 or something like that. - there was no good solution on what to do when cache is full 2) The main performance improvement generates RT-30922. I don't recall any specific improvement by fix to this issue alone. 3) Probably nothing 4) ModenaApp, some test app with ScrollPane/List View of Buttons of different size.
24-07-2013

Sort of having a hard time merging the first changeset in the sequence with graphics scrum and I finally noticed this first changeset was made on top of RT-30922: Implement 9-slice region background caching The question is, does packing region cache technically really depends on 9-slices cache ? I don't see why that would be so. Was this dependency only created due to the chronological order the code was released to the embedded fest repo ?
24-07-2013

Since RT-30741 is assigned to me I suspect I have to take this bug as well... Alexander, since you author the initial implementation: 1) is there any known problems in this implementation that you know of ? 2) besides enabling RT-30741 (and others), is there any visible performance improvement from this work by itself ? 3) If you had to do this work over again, would you do it (very) differently ? 4) what did you use for testing ?
24-07-2013

Changing the issue type to Tweak. We should not use the deprecated Optimization type.
05-06-2013