Master’s Thesis

Scene graph memory management

Background

Due to the growing disparity in performance between memory and processors, it is becoming increasingly important to consider the layout of applications’ working set data in memory to make effective use of cache memories and avoid performance bottlenecks from memory latency.

This thesis studies the effects of data layout on scene graphs, a common data structure for organising scenes in graphics applications. Specifically, it studies which way of packing nodes in memory yield the best performance for typical scene graph traversal patterns, and proposes a novel technique for maintaining such a data layout in a scene graph in which nodes are added and deleted.

Summary of results

Three data layouts — orderings for nodes, in which they are packed in memory — are evaluated for static scene graphs: a depth-first order, a breadth-first order, and a van Emde Boas layout.

These are compared against a “naïve” layout, wherein nodes are individually allocated on the heap. In a set of benchmarks representing typical operations on scene graphs, all data layouts yield similar performance, which is up to three times faster than the naïve layout for large scene graphs.

They show very similar performance to the naïve layout for smaller scene graphs, however. Further, the dynamic memory management system presented in this thesis yields better performance than the naïve layout, in an evaluation simulating a highly dynamic scene-graph application, by up to a factor two for large scene graphs.

A limitation with the approach, though, is that memory usage increases on average by a factor of 2.2 in the evaluation.

More information

Åkerstedt Bergsten, Magnus. Scene Graph Memory Management. 2019. https://hdl.handle.net/20.500.12380/300381

Related knowledge

Master’s Thesis: Enabling geospatial hybrid-collaboration

Master’s Thesis: Enabling geospatial hybrid-collaboration

Collaborative single-display teamwork without any widget or button. A case study using Carmenta Engine. This thesis introduced a new form of interfacing with the Carmenta Engine on touch screen. Its results show that through using the technique of hand chords, several users can work with the one large touchscreen simultaneously.

Read more