XGL Device Pipeline Porting Guide
只搜寻这本书
以 PDF 格式下载本书

New Features

This section lists new features in the XGL 3.1 version of the graphics porting interface.

Optimization of Device-Independent Operations

The XGL 3.1 release of the graphics porting interface (GPI) includes a number of changes aimed at improving XGL's low batching factor performance. The two main goals for the optimization effort were to minimize the device-independent overhead for each graphics primitive call and to simplify the interface between the device pipelines and the device-independent code.
XGL's architecture was changed to implement the performance improvements. The new architecture differs from the previous architecture in two major ways:
  • Device-independent code uses function pointers to call the device pipeline renderers directly from the API wrapper rather than through the interface manager. The functionality provided by the interface manager in the previous releases is implemented in other ways at this release, and the interface manager object is no longer present.
  • Device-independent code notifies the device pipeline of Context attribute changes immediately (non-lazily) except for transform changes (which are still lazy evaluated). As a result, the update table objects are no longer present.
As a result of the changes to the XGL architecture, existing XGL device pipelines need to be modified. For detailed information on required updates to the pipelines, see Appendix B, "Changes to the XGL Graphics Porting Interface".