我听说 OpenGL 和 DirectX 调用实际上是由视频驱动程序转换为特定于卡的调用。我也知道有时一个新的视频驱动程序可以将视频游戏的性能提高 50%,而无需开发人员做任何事情。如果我想对显卡进行细粒度控制,这是否可以达到低于 DX/OpenGL 的水平? Nvidia/AMD 是否发布供应商特定的 API?
最佳答案
NVidia 将他们的 GPU 编程模型保密。没有机会低于 DirectX、OpenGL、CUDA 或 OpenCL。
AMD/ATI 开放了他们的文档,但这对于日常工作的程序员来说可能太低了:http://developer.amd.com/documentation/guides/pages/default.aspx#open_gpu
英特尔开源了他们的 Linux 驱动程序,并且有一些文档。
AMD 和 Intel 的 Linux 开源驱动程序都通过称为 DRI2/DRM 的低级 API;与 KMS 结合使用,也称为 Gallium。 MesaGL 位于 DRI 之上,所以在 Linux 中实际上有这样一个低于 OpenGL 级别的 API 到显卡。 MesaGL 是所谓的 DRI 状态跟踪器,据我所知,WINE 开发人员的 Direct3D-10(和 11?)状态跟踪器几乎完成了,因此在可预见的 future ,WINE 将支持原生 Direct3D。当然只能使用 DRI,所以不支持 NVidia GPU。
关于api - 除了 DirectX/OpenGL,是否还有更低级别的 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6345538/