Back to Search Start Over

An incremental rendering VM

Authors :
Stefan Maierhofer
Robert F. Tobler
Georg Haaser
Harald Steinlechner
Source :
High Performance Graphics
Publication Year :
2015
Publisher :
ACM, 2015.

Abstract

We introduce an incremental rendering layer on top of standard graphics APIs such as OpenGL or DirectX in the form a virtual machine (VM), which efficiently maintains an optimized, compiled representation of arbitrary high-level scene representations at all times. This includes incremental processing of structural changes such as additions and removals of scene parts, as well as in-place updates of scene data. Our approach achieves a significant framerate increase for typical workloads and reasonable performance for high-frequency changes. Processing is performed in running time O(Δ), where Δ is proportional to the size of the change and the optimized representation has no runtime overhead with respect to the underlying graphics API. This is achieved by tracking and applying all changes as incremental updates to appropriate data structures and by adaptively synthesizing a program of abstract machine code. In a final step this abstract program is incrementally mapped to executable machine code --- comparable to what just-in-time compilers do. Our main contributions are (i) an abstract interface for rendering and visualization systems enabling incremental evaluation, (ii) adaptively optimized abstract machine code in the context of stateless graphics commands, and (iii) subsequent adaptive compilation to executable machine code including on-the-fly defragmentation.

Details

Database :
OpenAIRE
Journal :
Proceedings of the 7th Conference on High-Performance Graphics
Accession number :
edsair.doi...........0fb2f08bbe8fed572e9cd5b7b24082b0
Full Text :
https://doi.org/10.1145/2790060.2790073