For Iggy (which does Flash), our "renderer" code is approximately 80% memory management and 20% actual rendering (by LOC).
-
-
(Memory mgmt here includes allocation, synchronization, lifetime management, management of non-coherent GPU-side caches, defragmentation...)
1 reply 0 retweets 0 likes -
and of course a large part of that code didn't (need to) exist in the PC versions, although Vulkan/D3D12 changes that
1 reply 0 retweets 0 likes -
Replying to @rygorous @TedMielczarek
Yeah, we do use free lists in places and have a unified GPU buffer/texture cache framework, but we have a decent number of regular allocs.
1 reply 0 retweets 0 likes -
Though I’m pretty sure it could all be tightened up if we needed to. Anyway, if you’re driving the UI with JS, you’re already in GC land…
1 reply 0 retweets 0 likes -
All of the GPU resources are managed/defragmented manually and abstracted so that we can do Vulkan/D3D12/D3D11/Metal/GLES2 ports later.
1 reply 0 retweets 0 likes -
Replying to @pcwalton @TedMielczarek
Sure! But the devil's always in the details. :)
1 reply 0 retweets 0 likes -
Replying to @rygorous @TedMielczarek
Agreed, especially when having to follow the CSS spec :)
1 reply 0 retweets 0 likes -
Replying to @pcwalton @TedMielczarek
we had one resource management/rendering model for the initial GL/D3D9 impls, which then needed extensive reworking for Xbox 360 predicated
1 reply 0 retweets 0 likes -
tiling, which then needed reworking again because we had to port it to Wii where we didn't have real shaders or a stencil buffer,
2 replies 0 retweets 0 likes
Oh yeah, every time we’ve been tempted to use the stencil buffer we’ve gotten burned for some reason or another. We no longer touch it :)
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.