「ドローコール」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''ドローコール''' | + | '''ドローコール'''(draw call)とは、[[CPU]]から[[GPU]]に描画依頼を行うことをいう。 |
− | + | == 概要 == | |
+ | 近年では「[[シェーダー]]の実行」を意味していることが多い。このため[[シェーダー]]の内容によっては描画を伴わないこともある。 | ||
− | |||
ドローコールはとても重たい処理である。[[シェーダー]]で実行したい[[プログラム]]を設定して、シェーダーに渡すモデルや[[テクスチャマップ]]や変数などを設定して、ドローコールをする。 | ドローコールはとても重たい処理である。[[シェーダー]]で実行したい[[プログラム]]を設定して、シェーダーに渡すモデルや[[テクスチャマップ]]や変数などを設定して、ドローコールをする。 | ||
− | + | [[GPU]]での「処理」そのものよりも「呼び出し」の方が重いこともあるくらい。 | |
== ドローコールを減らす手法 == | == ドローコールを減らす手法 == | ||
− | 1フレームの描画に必要な「ドローコールの数」は、[[フォワードレンダリング]] | + | 1フレームの描画に必要な「ドローコールの数」は、[[フォワードレンダリング]]ではシーン中にある「モデル」と「ライト」の数の掛け算となる。ドローコールはとても重たい処理である。その数を減らすことができればパフォーマンスが劇的に向上する。 |
− | |||
− | |||
=== インスタンシング === | === インスタンシング === | ||
21行目: | 19行目: | ||
=== メッシュベイカー === | === メッシュベイカー === | ||
− | [[メッシュベイカー]] | + | [[メッシュベイカー]]は背景などに使用される複数のモデルを、事前に「1つのモデル」に結合してしまう手法である。建築物のように動かないモデルだと簡単に実装できる。 |
モデルを一通り読み込んだ後に結合すると利便性がよい。 | モデルを一通り読み込んだ後に結合すると利便性がよい。 |