教育培训 > Vulkan相比于OpenGL,有哪些优劣势呢?

Vulkan相比于OpenGL,有哪些优劣势呢?

2020-09-08 18:08阅读(68)

Vulkan相比于OpenGL,有哪些优劣势呢?:优势主要体现在并行计算方面。了解一下opengl设备上下文的概念就会知道,并行资源上传方面是多核cpu的优势,却恰恰成了:-

1

优势主要体现在并行计算方面。了解一下opengl设备上下文的概念就会知道,并行资源上传方面是多核cpu的优势,却恰恰成了opengl的性能瓶颈。换句话说,opengl并不能享受到多核cpu多带来的多线程计算加速所带来的优势,在资源处理上显得不灵活,甚至有点落伍。当然新版本的opengl在多线程方面有所优化,但是并没有从底层架构上根本解决这一问题。vulkan应运而生,它能更好的与多核cpu协同工作。

与opengl相比,其劣势首先体现在学习路线陡峭,它的编程模型更接近于显卡底层的工作模式,它给予了你对GPU更底层的控制,也更需要你以机器的思维去编写代码,对于开发者而言并不如opengl的接口友好。其次,调试的难度也变大了,因为它给予开发者对GPU和显存更大的控制自由度和灵活性,所以摈弃了一些内部的容错或保护机制,程序的健壮性要很大程度上依赖开发者自身的水平。

以上所说都是针对开发者或者使用者而言。而对于显示芯片供应商(例如国外的英伟达和AMD,国内的景嘉微)而言,vulkan与opengl相比,它的优势太明显了,几乎没有什么劣势。因为vulkan的架构更契合GPU的工作特点,它的驱动编写起来更简单也更轻量化,并且容易优化。而opengl版本众多,有很多冗余的API需要兼容,驱动编写与优化难度大;其实也不难理解,对用户越友好的编程接口就越考验芯片生产商的驱动开发能力;其实opengl在A卡上的表现就远不如同等性能的N卡上的表现,这说明英伟达对opengl驱动优化的更好。随着vulkan的到来,这些都不再是问题,它会最大程度上规避由显卡驱动的差异所带来的显卡性能差异。