e.g。如果我学习了低级Graphics Pipeline,那就去学习ARB汇编语言并了解某些gpu设备驱动程序调用的逻辑,这可以帮助我增强我对GPU API编程的了解,或者是否没有相关性和我会浪费我的时间吗?
编辑:专业人士是否需要在一定程度上理解这一点?答案 0 :(得分:3)
明确了解制造GPU的原因绝对是一个好主意。如果您在深层次上了解您的卡,那么您可以轻松识别瓶颈并获得最佳性能。麻烦的是,找到最新的信息是非常困难的,除非你直接去制造商,他们显然不会告诉你他们的卡如何工作的一切。
您发布的链接是一个非常有用的入门读物,我自己已经阅读过,但请注意日期。它发布于2011年,这意味着它已经过时了近3年。在GPU世界中,3年可能也是一生。
这里有一些指向nvidia和AMD开发者网站的链接,你可能会在那里找到很好的信息。
答案 1 :(得分:2)
ARB汇编语言?
您不需要知道这一点,尽管许多专业人士已经在行业中做了 之前 GLSL或Cg已存在。说实话,我不能说我对使用ARB汇编语言感觉更好,所有相同的概念都在GLSL中讲授。许多适用于ARB FP / VP的硬件限制不再有效。
你可能会通过学习它来做自己的 disservice ,比如学习立即模式或固定功能管道,它与现代硬件/软件无关。
<小时/> 也就是说,你链接的博客是一个非常好的阅读。不要关心硬件指令集(即使ARB语言实际上是一个虚拟指令集,由驱动程序稍后翻译成硬件的本机ISA)。相反,您应该了解管道本身。
从长远来看,管道的高级概述会让您更好。基础硬件优化技术随着每一代而变化,但管道的基本阶段保持相对静态(当然,定期引入新的可编程阶段)。如果您从高级别了解管道,那么您将准备好了解并应用新硬件功能。
答案 2 :(得分:1)
如果你要深入研究一些不起眼的芯片,那就不是了,但它肯定有助于理解你试图控制的硬件的基础知识。我在过去做过一些控制台渲染器编程,这些编程非常依赖于金属,并且对更高级别的API使用产生了积极的影响。