So, basically, chances are that if VSG supports everything OpenMW needs, it would sacrifice some of Vulkan's performance improvements, did I get that right? Well, perhaps it could still improve OpenMW's performance. Of course, I realise that such a switch would inevitably require additional work, and the effort involved should obviously be considered when making such a decision. I am obviously a lot less knowledgeable about all the relevant technical details than the developers. I just wanted to bring up VSG as a possible way to improve performance, but if there is some better way to do this, that's great!raven wrote: ↑05 Dec 2018, 11:01Vulkan as such does not do anything. It is a toolbox. It gives you more control at the price of having to handle a lot of "low level" details yourself. You have to write the actual code to make it fast. And this can be a nontrivial task, especially when you want to plug it in into some game that was designed decades ago without any regard for multithreading etc.
To get the maximum out of Vulkan you have to optimize your rendering code for your specific use case. Vulkan Scene Graph will be an abstraction on top of Vulkan. Depending on the use cases it supports, it will have to compromise speed for flexibility.
Hm... Maybe I am completely wrong, but doesn't NVidia driver work only with NVidia GPUs? If so, all the people who have AMD GPUs (and there are a lot of such people) won't benefit from it. As a matter of fact, I was under the impression that AMD's driver is awfully optimised for OpenGL, especially in comparison to its Vulkan optimisation. I suppose it's better to have OpenMW performing well on AMD GPUs, too, not only NVidia ones? Especially considering the general philosophy of OpenMW being fully usable on very different systems (cross-platform), which is incidentally Vulkan's philosophy as well.raven wrote: ↑05 Dec 2018, 11:01Nvidia OpenGL driver is for example pretty optimized internally. It is using threading to run the GPU as asynchronously as possible. So it will be very fast assuming you avoid certain OpenGL calls to stall it. It is not a given that by simply switching to Vulkan you'll get more speed.
If you were just using NVidia driver as an example of how optimisation for a specific API matters, I agree, it does matter a lot. Still, NVidia cards are also performing significantly better with VulkanAPI. I guess it all depends on how Vulkan Scene Graph will be utilising Vulkan possibilities, and whether it will support everything OpenMW needs it to.
I absolutely agree that further optimisation isn't something that should delay 1.0, and I did mention it myself that VSG isn't ready yet for OpenMW to switch to it. Also, thanks for the technical explanation! I agree that even modern commercial games are often relying more on per-core performance of CPU, instead of utilising all the cores fully. That's why Intel CPUs are considered better for gaming.