例如。如果我学习低级图形管道,请学习学习ARB组装语言并了解某些GPU设备驱动程序呼叫的逻辑,这可以帮助我增强我在GPU API编程中的知识,或者没有相关性,而我会成为我的知识只浪费我的时间?
编辑:专业人士需要在一定程度上理解这一点吗?
绝对是一个很好的主意,可以深入了解什么使GPU打勾。如果您知道自己的卡,那么您可以轻松地识别瓶颈并获得最高的性能。问题是,除非您直接去制造商,否则找到最新信息非常困难,而且他们显然不会告诉您有关其卡的工作方式的所有内容。
您发布的链接非常有用,我自己阅读了,但请注意日期。它发布于2011年,这意味着现在已经过了近3年了。在GPU世界中,三年可能是一生。
这是Nvidia和AMD开发人员网站的一些链接,您可能会在那里找到好的信息。
http://developer.amd.com/
https://developer.nvidia.com/
arb组装语言?
   no。
您不需要知道,尽管在 glsl或cg之前,许多专业人员已经因为在行业中而做过。老实说,我不能说我对拥有ARB组装语言的经验更好,所有相同的概念都在GLSL中教授。以及应用于ARB FP/VP的许多硬件限制不再有效。
您可能会通过学习即时模式或固定功能管道来实现 em> n em>,它与现代硬件/软件无关。
也就是说,您链接的博客是一件非常好的阅读。不要关注硬件说明集(即使是ARB语言实际上是虚拟指令集,后来由驱动程序转换为硬件的本机ISA)。相反,您应该了解管道本身。
从长远来看,对管道的高级概述将使您更好。基本硬件优化技术随着每一代的变化而发生变化,但是管道的基本阶段仍然相对静态(当然,定期引入了新的可编程阶段)。如果您从高级层中了解管道,那么您将准备学习并应用新硬件功能。
如果您要潜入一些晦涩的芯片,但这无疑有助于了解要控制的硬件的基础知识。过去,我已经做了一些游戏机渲染器编程,这些编程几乎在金属上,并且对高级API的使用产生了积极影响。