aardvark-platform / aardvark.rendering

Aardvark.Rendering is a high-performance, dependency-aware rendering engine. It is part of the open-source Aardvark Platform for visual computing, real-time graphics, and visualization.
https://aardvarkians.com/
Other
131 stars 13 forks source link

VAO's leak in adaptive code #10

Closed haraldsteinlechner closed 8 years ago

haraldsteinlechner commented 8 years ago

1) Instructions.bindVertexArray catpures the input vao in the its closure. 2) The closure is referenced by mapMod (mapping over current context) 3) CurrentContext mod has the closure in the output 4) The prepared render object itself gets disposed 5) all is fine but via 3,2,1 all input buffers remain in main memory

https://github.com/vrvis/aardvark/commit/2c9b3bfe06d32ff65027a335b79b9ec92cf346e2 demonstrates the problem as abstract test case.

krauthaufen commented 8 years ago

Solved via weak outputs in base and explicit removal in IAdaptiveCode.Dispose