「ドローコール」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
1行目: 1行目:
'''ドローコール'''(英語:draw call)とは、[[CPU]]から[[GPU]]に描画依頼を行うことをいう。
+
'''ドローコール'''(draw call)とは、[[CPU]]から[[GPU]]に描画依頼を行うことをいう。
  
最近は[[GPGPU]]などの登場で「描画を伴わないドローコール」も増えており、どちらかというと「実行依頼」といった方がいい感じになりつつある。
+
== 概要 ==
 +
近年では「[[シェーダー]]の実行」を意味していることが多い。このため[[シェーダー]]の内容によっては描画を伴わないこともある。
  
== 概要 ==
 
 
ドローコールはとても重たい処理である。[[シェーダー]]で実行したい[[プログラム]]を設定して、シェーダーに渡すモデルや[[テクスチャマップ]]や変数などを設定して、ドローコールをする。
 
ドローコールはとても重たい処理である。[[シェーダー]]で実行したい[[プログラム]]を設定して、シェーダーに渡すモデルや[[テクスチャマップ]]や変数などを設定して、ドローコールをする。
  
下手をすると[[GPU]]での「主たる処理」そのものよりも「呼び出し」の方が重いこともあるくらい重たい。
+
[[GPU]]での「処理」そのものよりも「呼び出し」の方が重いこともあるくらい。
  
 
== ドローコールを減らす手法 ==
 
== ドローコールを減らす手法 ==
1フレームの描画に必要な「ドローコールの数」は、[[フォワードレンダリング]]ではシーン中にある「モデル」と「ライト」の数の掛け算となる。つまりシーン内のオブジェクト数が増えるに従ってどんどん重くなる。
+
1フレームの描画に必要な「ドローコールの数」は、[[フォワードレンダリング]]ではシーン中にある「モデル」と「ライト」の数の掛け算となる。ドローコールはとても重たい処理である。その数を減らすことができればパフォーマンスが劇的に向上する。
 
 
ドローコールはとても重たい処理である。その数を減らすことができればパフォーマンスが劇的に向上させることができる。涙ぐましい手法が色々と考案されている。
 
  
 
=== インスタンシング ===
 
=== インスタンシング ===
21行目: 19行目:
  
 
=== メッシュベイカー ===
 
=== メッシュベイカー ===
[[メッシュベイカー]]は背景などに使用される複数のモデルを、事前に「1つのモデル」に結合してしまう手法である。建築物のように動かないモデルだと比較的簡単に実装できる。
+
[[メッシュベイカー]]は背景などに使用される複数のモデルを、事前に「1つのモデル」に結合してしまう手法である。建築物のように動かないモデルだと簡単に実装できる。
  
 
モデルを一通り読み込んだ後に結合すると利便性がよい。
 
モデルを一通り読み込んだ後に結合すると利便性がよい。

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)