大きな隔たりができています。このあたりでおそらくレジスタ数と動作スレッド数のバランスが崩壊しています。18固定後の負荷上昇率が意外に小さいので、ループ処理自体の動作効率は良いようです。15以上はほぼ同じ負荷となっているようです。ネイティブコード変換でぜんぜん違うプログラムに置き換わっているのかもしれません。テンポラリレジスタ数増加に対する耐性が弱く、比較的低い位置で負荷が上昇するものの、シェーダー自体の実行効率は良いのでループ回数が極端に増えれば良い結果がでそうです。結果を追い越すかもしれません。本来高速な条件では速度が伸びないけど、遅い条件でも割と耐える感じです。次に出力レジスタ(ラスタライザの補間パラメータ数)数と動作速度の関係は下記のとおりです。別のところに要因があるせいなのかわかりません。出力レジスタ数9~10まで一気に上昇するものの11でなぜか下がります。11~15の数値はかなり速くなっており、出力レジスタ数の影響がもともと無いのか、それとも意味が無いと思って最適化されたのかもしれません。安定したデータが取れるのはもうちょっと先になるかもしれません。