JDK-8092277 : Render the scene using retained data structures
  • Type: Enhancement
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: fx2.0
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2011-10-25
  • Updated: 2018-09-05
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.
Other
tbdUnresolved
Related Reports
Blocks :  
Relates :  
Relates :  
Description
Currently the scene is rendered in Prism using an immediate mode API where the nodes draw their pieces one at a time using individual calls on a Graphics object to set attributes and then render a single piece.

When talking to an accelerated GPU, each of those individual render calls ends up setting various parameters in the GPU context and then constructing a list of vertices for it to operate on.

In an ideal 3D application, the vertex lists are accumulated with common attributes (with the exception of a few attributes that can vary per vertex - primarily a color) and then sent to the GPU in batches.  Between frames of presenting the 3D model, only the vertices that are associated with moving parts of the model are changed and as many of the lists of vertices as possible are reused, possibly cache on the GPU itself.  This reduces not only the computation of the vertex lists for each primitive, but also can save transmission time over the system buses.
Comments
With the "super shader" work, this might offer a significant performance win (whereas without super shader it didn't make much difference)
30-05-2013