Well, at least not outside the TV or the movies, that is. Let’s wrap the jokes up by saying that Vulkan may indeed help our simmers live long. And prosper! There. All done. Let’s talk seriously now.
If you paid attention to Laminar Research FlightSimCon’s presentation, you noticed that they started out by mentioning Vulkan and how it would affect the sim’s performance.
What you probably don’t realize is how deep that actually goes and how great this may be not just regarding the looks of the sim but also the stuff that goes behind it.
Right now, we are bottlenecked by the current technology. OpenGL and DirectX are somewhat old and, although they still provide us with the good old graphics for our good old sims, hardware has evolved and we need more. A lot more.
We need more FPS. Not just because it looks better but also because VR (which is coming our way big time) needs more FPS so that it’s immersive and doesn’t cause nausea. More FPS means more fluid sims but also means that we can add more visual stuff into the sim and still getting away with it: bigger and better textures, more polygons, more aircraft, cars, ships and other stuff moving and perhaps even the shiny new 3D waves Laminar has shown some time ago.
OpenGL and DirectX have been squeezed out of almost every bit of frames and effects possible from these platforms. The next step would be to have another new versions of these graphical interfaces. Or perhaps a completely new one.
Vulkan is a “new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.”
What this means is that it’s a way for developers to put the visuals of the sim onto your monitor, by means of your graphics card. Now this is a very simplistic way of describing it but that’s pretty much is in a nutshell: instructions for your graphics card to do its thing. If you are wondering, API stands for Application Programming Interface. Both DirectX, OpenGL and Vulkan are APIs.
Like I mentioned previously the APIs we currently use are flawed. I won’t go into a lot of details but stuff’s simply not working properly right now mainly due to the way these APIs were designed and developed. Laminar Research’s Ben Supnik describes this in greater detail at the LR developer blog.
Vulkan, on the other hand, was built from scratch having performance and newer hardware in mind. It’s being developed by a group called Khronos Group which is comprised of dozens of great companies such as nVidia, AMD, Intel, Valve, Samsung, Google, Apple, AMD, Adobe, Blizzard, Microsoft. Too many of them for me to name here. You can check out the full list at the group’s website, though.
This group is developing Vulkan and the fact that companies such as nVidia and AMD are aboard, means that combability is assured. So, if you are using an nVidia or AMD card (who isn’t, right?) you may already have support for Vulkan. Even the drivers may already be ready for it.
I currently owned a nVidia GTX 1060 and my card and drivers are Vulkan-ready. So, I thought I should give it a try.
Please note that this is not a real test/benchmarking. I did not do much more than open the program and change some settings. The results are not scientific but I believe that they demonstrate the difference between both APIs and the potential of Vulkan for gaming and, more specific, for sims. I believe you will find the results quite interesting.
I headed out to the Vulkan-dedicated page at nVidia’s website and downloaded a couple of demos. Unfortunately, the helicopter one didn’t work (boooooo) but the Thread Rendering (aka FISH!) one worked just fine.
I started with the default settings and 5,000 fish but reduced the threads to 1. With Vulkan, I managed to get 710 FPS while, using OpenGL, I stayed at 370 FPS. That’s over twice the performance.
I then increased the number of threads to 8 to see the difference and… Wow! I now got 1,080FPS using Vulkan and 575FPS with OpenGL.
I pushed out the envelope so incressed the fish by about 20x. That’s right: 100,000 little guys swimming around. You can see the results on the video below: 100 FPS with Vulkan, 30 FPS with OpenGL.
Now please do note the following: while recording the video (using nVidia’s recording software) framerate suffered quite a bit. When not recording, Vulkan hit around 130 FPS and OpenGL keeps itself within the 30 FPS mark.
Vulkan does take quite a hit on the recording phase and that might have to do with the fact that it uses several cores and recording the video took over perhaps one or two of those that were then no longer free. So, in this final test, Vulkan was 4x faster than Open GL.
I want Vulkan on my sim!
I do. I have heard about Vulkan but never managed to get the time to take a good look into it. I managed to do so now and was very pleased to learn that not only the API is blazing fast (I’m sure the sim developers will be able to reduce its performance when they start throwing flying branches, 3D waves, unique snowflakes and other stuff that exists in the real world but can’t exist in our virtual worlds – yet) but also because the performance is absolutely nuts!
I was not expecting such a huge increase in FPS and, following the same logic, we will be able to nearly double our FPS while maintaining the image quality of our sims!
What’s even more amazing, we will be able to do so using the same hardware we are using right now, or drastically improve it by getting better hardware such as more powerful CPUs. Can you imagine the boost that the new 10+ core processors that are being launched will bring to our sims?
What will developers do with such power?
Better looking sims, to start with. That’s the first thing people usually want: eye candy.
We’ll get better skies, better water, better shadows and reflections. We will start seeing things in the virtual world that will want us to live there for the rest of our lives.
We will get better, more fluid VR. Speaking of which, at the nVidia Vulkan page you will find a quote from John Carmack the Oculus CTO:
We have been using NVIDIA hardware and drivers on both Windows and Android for Vulkan development, and the reductions in CPU overhead have been impressive.
Laminar Research is already in the Vulkan bandwagon. Perhaps we’ll see other developers jump in as well. That would be absolutely brilliant, indeed.