2

出于好奇,这样编写着色器变量会更有效吗:

     lowp vec4 tC = texture2D(uTexture, vTexCoord); // texture color

或者

     lowp vec4 textureColor = texture2D(uTexture, vTexCoord); // texture color

请注意,我写了变量tC,因为它的字符少于变量textureColor

我了解像 C/ObjC 这样的编程语言,没关系,但是着色器呢,因为您可以查询属性/统一名称。

4

1 回答 1

1

它不应该产生可衡量的差异。在初始化期间链接您的程序后,查询属性/制服的位置,并将结果与​​程序句柄一起保存。从那时起,您的应用程序和驱动程序都不会接触名称字符串,只会接触整数位置。

即使您每次需要更改属性绑定或统一值时都重新查询位置,与进行查找和绑定的其他成本相比,短名称长度和“中等”名称长度之间的差异可能不会有太大差异/值变化。

于 2013-10-17T21:12:27.687 回答