CPUからGPUに渡されるいくつかのパラメーターは、すべてのフラグメントに対して一定ですが、フレームごとに変化します(GLSL ES 1.1を使用しています)。そのような値にユニフォームまたは属性を使用する必要がありますか?属性は頂点ごとに異なる可能性があるため、私の直感では、フレーム全体で一定の値に属性を使用すると非効率になります。ただし、ユニフォームは「比較的まれに」変更される値用であると読みました。これは、すべてのフレームでユニフォームを変更するのは非効率的である可能性があることを示唆しています。
ハードウェアに関しては、iPhone4S用に最適化することに最も興味があります。
私は制服に投票します。
理由の1つは、あなたの質問ですでに説明されています。ユニフォームは、各頂点/フラグメントの定数です。
属性よりもユニフォームを好むその他の理由は次のとおりです。