Re:Gnomes per second in Vulkan and OpenGL ES
by olaulaja on Monday August 10, 2015 @02:52PM
(#10036479)
Vulkan doesnt really expose tile based rendering. In the demo the scene is split into tiles and since the geometry is static they can prepare commands for gpu execution once for each of these tiles. This cannot be done in OpenGL which effectively has to repeat this work every frame (the driver hides this) There are of course other tricks to speed up crowds like this in OpenGL
Re:Gnomes per second in Vulkan and OpenGL ES
by ashleysmithgpu on Monday August 10, 2015 @04:42PM
(#10037145)
Check the blog post after Wednesday, there are some things we cannot say yet.
The demos is slightly unrealistic yes and you could use multi draw indirect. But you would not be able to use multiple cores with that. As for moving objects, you would really just need to handle the objects moving between tiles and pass the animation matricies in the right places. It was thought about, but we didn't have time to implement.
The blog post only somewhat touches on it but I believe a key part of why this is so much faster is that it sounds like Vulkan is actually exposing tiled-based rendering. Note that PowerVR is a tile-based deferred renderer under the hood[1]. So if the app is doing the work of chunking draws into tiles instead of the driver trying to extract that from the OpenGL stream that's going to be significantly more efficient.
1: http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphic...