出于好奇,编写像这样的着色器变量会更有效:
lowp vec4 tC = texture2D(uTexture, vTexCoord); // texture color
或
lowp vec4 textureColor = texture2D(uTexture, vTexCoord); // texture color
请注意,我写了变量 tC ,因为它的字符少于变量 textureColor
我理解像C / ObjC这样的编程语言,没关系,但是shader怎么样,因为你可以查询属性/统一名称。
答案 0 :(得分:1)
它不应该产生可衡量的差异。在初始化期间链接程序后,查询属性/制服的位置,并使用程序句柄保留结果。从那时起,您的应用程序和驱动程序都不会触及名称字符串,只会触及整数位置。
即使您每次需要更改attrib绑定或统一值时重新查询位置,与执行查找的其他成本相比,短名称和“中等”名称长度之间的差异可能不会产生太大差异和绑定/值的变化。