2015 - 07 - 12 DrawCall はなぜ重いのか? 「最適化を行うには、DrawCall を削減すると良い」 という事は良く聞きますが、なぜ DrawCall は重いのかという理由が良く知らなかったので調べてみました。 GPU は描画時に何をしているのか、グラフィックス API の振る舞いと、CPU のオーバーヘッドについてまとめます。 ※ OpenGL と DirectX 、あるいはデスクトップとモバイルについては、特に分けていないので留意して下さい。 ■ そもそも DrawCall とは何か GPU を使用して画面に描画する際に呼び出す命令の事 を DrawCall と呼びます。 モデル描画時に設定されるレンダーターゲット( フレームバッファ )の情報やモデルの頂点情報などはこの DrawCall 命令を一つの基準として処理されます。深度への書き込みが有効か無効か、あるい
Unityでちょっとしたテストをしていたのですが、 なぜかDraw Callの値が非常に高くなっていたので調べてみたところ球の描画に問題があったようです。 UnityのSphereメッシュ(球)は動的バッチングをすることができず、 追加するとその分だけDraw Callの数が増えるということらしいです。 個人的に衝撃だったので記事にしてみました。 前提知識 Draw Call(ドローコール)とは? Draw CallとはGPUに対する描画命令呼び出しのことで、一般的に重たい処理とされています (最新のアーキテクチャではこの常識も崩れつつあるとかないとか)。 重たい理由はGPUが描画に使うための情報をCPUで準備していることにあるそうです (そのためDraw Callが増えるとGPUではなくCPUが重くなります)。 この手の話は「Draw Call」で検索すると日本語でも多くの資料がヒットす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く