I may be wrong here but as far as I understand using something like vulkan to render the ui has some pretty limited benefits in terms of performance.
While Samsung has done it does not mean its actually very worthwhile to do in android and there are probably other things that can be done to improve performance that are more effective in the same amount of time.
UI is simple enough so yeah, vulkan is pretty much overkill.
That being said, it is much easier to write a vulkan driver than a full openGL driver, so if its adoption is better the industry can simply not bother with ogl drivers and code.
But for the time being there are a lot of titles that use ogl explicitly. Far more than vulkan. So as trivial as it might be to port the android GUI API to vulkan, why bother when there is already an ogl implementation and ogl is a legacy must?
The benefit of going Vulkan is obvious: so that those same mobile games could make money on ~all operating systems, not just Android. That would help Linux gaming a lot, and also popularize the use of Vulkan on Windows.
You realize that currently, Android is mostly using openGL ES, a subset of openGL supported by most platform with openGL. So, porting android games to other platforms is *NOT* limited by openGL ES...
Vulkan drivers are supposed to be of a higher quality, incl multithreaded rendering support by default. Now if that ain't a big plus I don't know why even bother with anything but OGL 1.0.
I love it! All these compatibility efforts are going to make using Vulkan so much easier. Just the ability to use HLSL or OpenCL C makes me happy (I dislike GLSL).
Vulkan from day 1 was meant to supplant OpenGL (i.e the next version) not to have both be available from my understanding, Vulkan was/is the next evolution of what they wanted OpenGL to do from the first place (or at least gave them a better framework to make it happen thanks to AMD) surprised to see Nvidia on that list to be honest seeing as they were completely against it from day 1 because it "favored" AMD too much or some crap like that (unlike Windows that allowed them to be favored instead..they get to make own rules and of course MSFT backs Intel and Nvidia almost fully to make such happen)
Vulkan didn't favour AMD, it is actually Mantle underneath, just repackaged and renamed. DX12 is also "Mantle inspired" as well, which is partly why AMD seems to have a bit of an edge in efficiency with these metal API's in general. The doesn't mean that nvidia doesn't want\need to get on board though.
The other side is also that nvidia spent considerably more resources on their DX11 drivers than AMD and as such have a lot less to gain by switching to Vulkan/DX12, as the optimization is already there.
Those "closer to the metal" API move some of the efforts from the driver developers to the application developers. Not sure how much gains will be made in the end, as few developers have the resources to optimize correctly.
I think it's more about the fact that, being in most of the major consoles, put AMD in a position where they dumped a lot of effort into making a metal API that would work across the board for all platforms.
Yup I remember when Mantle was first hinted at and how it was being used to get more out of the xbox. Then AMD decides to make it available on the PC. This pushed MS to towards the creation of DX12.
Only the first two games were pre-2013 (quake, Roblox). Then you have dota2, rust, grid, etc. Additionally only 11 of the 34 games aren't available for Windows (of those, 5 aren't yet released).
Note to Editor: sub-group is their OpenCL terminology for warp/wavefront, i.e. one full SIMD register. Note that even slide says about 32/64 subgroup width.
The point is that such functionality was implemented as old as 2009 (NVidia Fermi), and probably 2011 (GCN) - 2012 (IvyBridge). It is supported in CUDA since then, but OpenCL still doesn't have standard sub-group operations, although they are available as Intel-specific extension. May be AMD also supports some extension, and they can also be implemented as GPU-specific asm commands, but there was no standard OpenCL support until now.
One thing I am curious as a developer - is that it appears Vulkan came from Mantle ( or at least that AMD'ers like to say ) but how much is the big boys in the industry NVidia, Intel and Microsoft are actually in it. From Vulcan wiki - it appears Microsoft is not promoter but both NVidia and Intel are along with others. The big question is? Does Vulkan give AMD GPU's an Advantage or say NVidia or is actually fair to all GPU based on GPU capabilities? Also how much overhead does Vulkan put on application over going directly to it? Also if say using NVidia GPU, can application go around Vulkan for parts where it does not handle as efficiently?
The big concerns does this API give AMD cards advantage or not? if so I don't believe developers will use it.
No, no advantage in the long run. AMD gave Mantle to Khronos and this is the base Vulkan is built on. This gave AMD an early advantage which reflected on AMD having full Vulkan drivers before nvidia. Now though, both are at the same point (fully working drivers) going into that new revision.
Let's say you have NVidia or AMD DX12 card, can you switch between native drive or DX12 support. Also these may depend on how game is designed can one switch between DirectX and Vulkan.
Vulkan does not give AMD an advantage in the way that it detriments Nvidia. Vulkan allows asynchronous computation API calls, multiple programs can be called to run at the same time on the GPU. Currently, even in CUDA, you cannot run multiple programs at once with Nvidia cards, you are forced to context switch the entire GPU. Nvidia does not currently have the ability to asynchronously run multiple programs even with completely different Streaming Multiprocessing Units. AMD on the other hand can actually run multiple programs at once on their latest GPUs, resulting in higher GPU utilization. It isn't a "Oh I see you're on the red team, let me give you a little boost".
Well question about advantage is only question of how good drivers are developed & AMD doesn't shine on this front. Main advantage of the Vulkan is lower overheads & many CPU SMP support so basically on high calls count it archives smooth performance and in generally it uses more CPU's with less % of utilisation so it saves power. All tho theoretically its possible to achieve higher performance with Vulkan in practice this is hard to achieve as CPU schaduler is hard to precise control and set up. Nv card's have bigger advantage due to the efficiency advantage as Vulkan just makes this gap bigger & naturally this is a big deal when you have limited DTP on your disposal. Same thing goes for Qualcomm Adreno on mobile platform but hire is a catch new Adreno 6xx family is even 2x more efficient than latest known Nv generation and Vulkan simply erases the difference between EGLS to full OGL difrence in capacities. The other Vulkan advantage over other api's (best to my knowledge) is better resource management as it can save a bit on RAM utilisation.
Some bad writing there. They mean that the same tech that does DRM (by running programs within a frame/surface to make their own subframes/sub-surfaces) can also be used to block ads and the like. I wonder if compositors will pick it up...
We’ve updated our terms. By continuing to use the site and/or by logging into your account, you agree to the Site’s updated Terms of Use and Privacy Policy.
33 Comments
Back to Article
SydneyBlue120d - Wednesday, March 7, 2018 - link
So, when can we expect Android OS to use Vulkan by default instead of OpenGL?qlum - Wednesday, March 7, 2018 - link
I may be wrong here but as far as I understand using something like vulkan to render the ui has some pretty limited benefits in terms of performance.While Samsung has done it does not mean its actually very worthwhile to do in android and there are probably other things that can be done to improve performance that are more effective in the same amount of time.
iter - Wednesday, March 7, 2018 - link
UI is simple enough so yeah, vulkan is pretty much overkill.That being said, it is much easier to write a vulkan driver than a full openGL driver, so if its adoption is better the industry can simply not bother with ogl drivers and code.
But for the time being there are a lot of titles that use ogl explicitly. Far more than vulkan. So as trivial as it might be to port the android GUI API to vulkan, why bother when there is already an ogl implementation and ogl is a legacy must?
neblogai - Wednesday, March 7, 2018 - link
The benefit of going Vulkan is obvious: so that those same mobile games could make money on ~all operating systems, not just Android. That would help Linux gaming a lot, and also popularize the use of Vulkan on Windows.frenchy_2001 - Wednesday, March 7, 2018 - link
You realize that currently, Android is mostly using openGL ES, a subset of openGL supported by most platform with openGL.So, porting android games to other platforms is *NOT* limited by openGL ES...
peevee - Thursday, March 8, 2018 - link
"That would help Linux gaming a lot"Money from Linux gamers? Seriously?
mazz7 - Thursday, March 8, 2018 - link
money from all platforms to be exact :) and 1 code to run in all platforms is also a good idea ;)Zingam - Wednesday, March 7, 2018 - link
Vulkan drivers are supposed to be of a higher quality, incl multithreaded rendering support by default. Now if that ain't a big plus I don't know why even bother with anything but OGL 1.0.SydneyBlue120d - Wednesday, March 7, 2018 - link
Do You have something official about Samsung using Vulkan other than the 2016 Touchwiz demo?Thanks a lot!
Krteq - Wednesday, March 7, 2018 - link
AMD Vulkan 1.1 driver link - https://support.amd.com/en-us/kb-articles/Pages/Ra...ET - Wednesday, March 7, 2018 - link
I love it! All these compatibility efforts are going to make using Vulkan so much easier. Just the ability to use HLSL or OpenCL C makes me happy (I dislike GLSL).iter - Wednesday, March 7, 2018 - link
Meh, real men write spir code directly :)iwod - Wednesday, March 7, 2018 - link
Vulkan as Next Gen OpenGL? I thought Knronos siad for now Vulkan will be an alternative rather then replacement.Dragonstongue - Wednesday, March 7, 2018 - link
Vulkan from day 1 was meant to supplant OpenGL (i.e the next version) not to have both be available from my understanding, Vulkan was/is the next evolution of what they wanted OpenGL to do from the first place (or at least gave them a better framework to make it happen thanks to AMD) surprised to see Nvidia on that list to be honest seeing as they were completely against it from day 1 because it "favored" AMD too much or some crap like that (unlike Windows that allowed them to be favored instead..they get to make own rules and of course MSFT backs Intel and Nvidia almost fully to make such happen)novastar78 - Wednesday, March 7, 2018 - link
Vulkan didn't favour AMD, it is actually Mantle underneath, just repackaged and renamed. DX12 is also "Mantle inspired" as well, which is partly why AMD seems to have a bit of an edge in efficiency with these metal API's in general. The doesn't mean that nvidia doesn't want\need to get on board though.frenchy_2001 - Wednesday, March 7, 2018 - link
The other side is also that nvidia spent considerably more resources on their DX11 drivers than AMD and as such have a lot less to gain by switching to Vulkan/DX12, as the optimization is already there.Those "closer to the metal" API move some of the efforts from the driver developers to the application developers. Not sure how much gains will be made in the end, as few developers have the resources to optimize correctly.
novastar78 - Wednesday, March 7, 2018 - link
I think it's more about the fact that, being in most of the major consoles, put AMD in a position where they dumped a lot of effort into making a metal API that would work across the board for all platforms.Manch - Friday, March 9, 2018 - link
Yup I remember when Mantle was first hinted at and how it was being used to get more out of the xbox. Then AMD decides to make it available on the PC. This pushed MS to towards the creation of DX12.Manch - Friday, March 9, 2018 - link
"and of course MSFT backs Intel and Nvidia almost fully to make such happen"Dropped Intel/Nvidia and made consoles for the past 12 + yrs with AMD HW, yet conspires to keep AMD down.....yeah....OK.....cool story...LOL
Gothmoth - Wednesday, March 7, 2018 - link
is there a list of software that uses vulkan?ZolaIII - Wednesday, March 7, 2018 - link
Theirs a list of games that use it on Wiki.https://en.m.wikipedia.org/wiki/List_of_games_with...
HStewart - Wednesday, March 7, 2018 - link
To me it looks like ports of older games mostly on non-Windows systemZolaIII - Thursday, March 8, 2018 - link
Well list isn't complete. But older games? Some aren't yet sean official release.tuxRoller - Thursday, March 8, 2018 - link
Only the first two games were pre-2013 (quake, Roblox). Then you have dota2, rust, grid, etc. Additionally only 11 of the 34 games aren't available for Windows (of those, 5 aren't yet released).Bulat Ziganshin - Wednesday, March 7, 2018 - link
Note to Editor: sub-group is their OpenCL terminology for warp/wavefront, i.e. one full SIMD register. Note that even slide says about 32/64 subgroup width.The point is that such functionality was implemented as old as 2009 (NVidia Fermi), and probably 2011 (GCN) - 2012 (IvyBridge). It is supported in CUDA since then, but OpenCL still doesn't have standard sub-group operations, although they are available as Intel-specific extension. May be AMD also supports some extension, and they can also be implemented as GPU-specific asm commands, but there was no standard OpenCL support until now.
HStewart - Wednesday, March 7, 2018 - link
One thing I am curious as a developer - is that it appears Vulkan came from Mantle ( or at least that AMD'ers like to say ) but how much is the big boys in the industry NVidia, Intel and Microsoft are actually in it. From Vulcan wiki - it appears Microsoft is not promoter but both NVidia and Intel are along with others. The big question is? Does Vulkan give AMD GPU's an Advantage or say NVidia or is actually fair to all GPU based on GPU capabilities? Also how much overhead does Vulkan put on application over going directly to it? Also if say using NVidia GPU, can application go around Vulkan for parts where it does not handle as efficiently?The big concerns does this API give AMD cards advantage or not? if so I don't believe developers will use it.
frenchy_2001 - Wednesday, March 7, 2018 - link
No, no advantage in the long run.AMD gave Mantle to Khronos and this is the base Vulkan is built on. This gave AMD an early advantage which reflected on AMD having full Vulkan drivers before nvidia.
Now though, both are at the same point (fully working drivers) going into that new revision.
Nvidia fully supports Vulkan, same as AMD.
HStewart - Wednesday, March 7, 2018 - link
Let's say you have NVidia or AMD DX12 card, can you switch between native drive or DX12 support. Also these may depend on how game is designed can one switch between DirectX and Vulkan.ZolaIII - Thursday, March 8, 2018 - link
You can't combine them & you can run one or the other only if app is written for them.testest - Wednesday, March 7, 2018 - link
Vulkan does not give AMD an advantage in the way that it detriments Nvidia. Vulkan allows asynchronous computation API calls, multiple programs can be called to run at the same time on the GPU. Currently, even in CUDA, you cannot run multiple programs at once with Nvidia cards, you are forced to context switch the entire GPU. Nvidia does not currently have the ability to asynchronously run multiple programs even with completely different Streaming Multiprocessing Units. AMD on the other hand can actually run multiple programs at once on their latest GPUs, resulting in higher GPU utilization. It isn't a "Oh I see you're on the red team, let me give you a little boost".ZolaIII - Thursday, March 8, 2018 - link
Well question about advantage is only question of how good drivers are developed & AMD doesn't shine on this front. Main advantage of the Vulkan is lower overheads & many CPU SMP support so basically on high calls count it archives smooth performance and in generally it uses more CPU's with less % of utilisation so it saves power. All tho theoretically its possible to achieve higher performance with Vulkan in practice this is hard to achieve as CPU schaduler is hard to precise control and set up. Nv card's have bigger advantage due to the efficiency advantage as Vulkan just makes this gap bigger & naturally this is a big deal when you have limited DTP on your disposal. Same thing goes for Qualcomm Adreno on mobile platform but hire is a catch new Adreno 6xx family is even 2x more efficient than latest known Nv generation and Vulkan simply erases the difference between EGLS to full OGL difrence in capacities. The other Vulkan advantage over other api's (best to my knowledge) is better resource management as it can save a bit on RAM utilisation.toyotabedzrock - Wednesday, March 7, 2018 - link
I can't imagine how DRM features could be used to block ads. Seems like a purposeful distraction to say that.ZeDestructor - Wednesday, March 7, 2018 - link
Some bad writing there. They mean that the same tech that does DRM (by running programs within a frame/surface to make their own subframes/sub-surfaces) can also be used to block ads and the like. I wonder if compositors will pick it up...