News for hackers. Stuff that matters.
Re:Gnomes per second in Vulkan and OpenGL ES by Am-hehu on Monday August 10, 2015 @11:55AM (#10035426)
I would like to excuse for my incompetent/ignorant comment in advance, but wouldn't it be fairer to compare Vulkan with OpenGL 4.5 where indirect indexed draw calls are available? I also noticed that this demo avoids interactive animations (moving / reacting objects). In my experience with next-gen apis this results often in command dead-locks and inevitable queue-rollbacks.
Re:Gnomes per second in Vulkan and OpenGL ES by kllrnohj on Monday August 10, 2015 @01:22PM (#10035963)
The GPU in question here, the PowerVR G6430, does not support OpenGL 4.5. It tops out at OpenGL 3.2 since it's a mobile part so everyone is using GLES.

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...

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.

Re:Gnomes per second in Vulkan and OpenGL ES by kllrnohj on Thursday August 13, 2015 @12:29PM (#10055365)
Blog post was updated, looks like one of the tricks is the pixel local storage GLES extension is a core feature on vulkan.
Re:Gnomes per second in Vulkan and OpenGL ES by simcop2387 on Monday August 10, 2015 @12:48PM (#10035762)
Not necessarily, I believe they're demoing this against OpenGL ES specifically because of google recently announcing that Vulkan will be available on android[1]. Given the 4 cores that seems to line up, since a lot of ARM devices are going to multicore recently.

[1] http://arstechnica.com/gadgets/2015/08/android-to-support-vu...