iOSでMetal APIによる2D描画を行なっています
デバッガで描画コストを確認したところ
"画面全体をアルファありの単色で塗りつぶす処理"が
多数のオブジェを描画するより高コストになっています
シーンにもよりますが、全描画処理コストのうち1/4を1度の塗りつぶし処理が占めています
(描画ピクセルが多いので当然な気もしますが)
実装としては、画面いっぱいの短形で塗りつぶしているだけで、これが一般的なやり方でしょうか?
何か専用のもっと高速な方法があるのでしょうか?
metal
1vertex float4 fillScreenV(constant float *pos [[ buffer(0) ]], const uint index [[ vertex_id ]]){ 2 return float4(pos[index*2],pos[index*2+1], 0.0, 1.0);//ただの画面いっぱいの短形 3} 4fragment half4 fillScreenF(constant half4 &color [[ buffer(0) ]]){ 5 return color;//単色 6}
よろしくお願いします
あなたの回答
tips
プレビュー