shader 运行效率 @ 1/4/2012

神秘/科学
今天写程序遇到个古怪的现象。

OpenGL ES 2.0 shader program中

    vTexCoord = vec2(aTexCoord.s, aTexCoord.t);
    vTexCoord = vec2(aTexCoord.s * 1.0, aTexCoord.t * 1.0);

这两句话计算运行结果完全一样(当然的,乘以1,结果不变么)。但运行效率却差很多。画复杂图形(三角形很多,比如球体)时,速度差别很明显。

关键是,与设想相反的是,第二句运行更快。奇怪吧,画每个三角形多了两次乘法运算,速度反倒更快了。

还不知道是因为什么,shader 编译的差别吧。
发布于 1/4/2012 20:08:37 | 评论:0

看帖要回帖...

Loading...
categories
archives
links
statistics
  • 网志数:209
  • 评论数:1722