じつじかん‐しょり【実時間処理】
リアルタイム処理
実時間処理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/10 04:11 UTC 版)
「グラフィックスパイプライン」の記事における「実時間処理」の解説
産業・工業の設計・製造工程で用いられるCADや、ドライブシミュレータ・フライトシミュレータ、およびゲームなどで利用されるリアルタイムグラフィックスパイプラインは、インタラクティブ性を実現する必要があるために動画像を毎秒30〜60フレーム程度の実時間で生成する処理を行なっており、映画産業のように必ずしも実時間で処理する必要がないCG動画とは求められる精度や方向性が異なっている。例えば、よりリアルな画像が得られる大域照明 (global illumination) モデルを実現するにはレイトレーシングやラジオシティ法のような光学的・物理学的に厳密な手法が適しているが、これは大きな演算量と記憶領域を必要とするために実時間処理するのは難しい。一般的には、実時間処理を必要としないCG動画像の生成では、現実に起きているのと同じように光源からの光線の反射・屈折・透過・散乱といった物理シミュレーションをほぼ忠実に行なうことでリアル感を得ることが可能なのに対して、実時間処理を必要とするCG動画像の生成では、演算量を減らすための多様な工夫を凝らして物体表面の質感などを擬似的・近似的に作り出すことが多い。以下に実時間処理での各段階を示すが、こういった用途での専用ハードウェアについてはGPUを参照のこと。 リアルタイムコンピュータグラフィックスを生成する専用ハードウェアに対して、グラフィックスパイプラインの処理を指示するための標準的なリアルタイム3DCG用APIには、OpenGLとDirect3Dがある。 2015年現在のCG動画像生成を行なう実時間処理の専用ハードウェアは、多くの場合、グラフィックスカード上の演算装置であるGPUを指す(ディスクリート型、内蔵型を問わない)。GPUでも上記で示した基本的なグラフィックスパイプライン処理の流れに沿ってレンダリングが実行されているが、単にパイプライン処理するだけでなく、画像の処理単位を幾つも分解して、半ばハードワイヤード化された多数の専用回路や、(ソフトウェアプログラムによるカスタマイズが可能な)多数の汎用的な演算回路を同時並列的に用いることで、実時間処理に必要な演算性能を得ている。演算回路の並列度の増加がそのまま処理性能の向上に比例する傾向が強いため、半導体の集積度向上に応じて年ごとに演算回路の数が増加している。2015年現在では、プログラム処理が可能な汎用回路の数が最大では数千基を越える規模になっている。 GPUによるグラフィックスパイプラインでのステージは、CPUによる命令パイプラインのステージとは論理的/物理的に異なるだけでなく、グラフィックスパイプラインの方が処理の粒度がより大きく、基本的には演算結果は逐次、ローカルメモリに書き出される。CPUの命令パイプラインでは基本的にステージ間は高速のラッチ回路で結ばれている[要出典]。 なおDirectX 7世代までの古典的なGPUでは固定機能ハードウェアで実装されていた3D-2D変換機能だが、DirectX 8世代以降、プログラマビリティを獲得した高性能GPUでは順次廃止されている(固定機能はプログラマブルシェーダーでエミュレートされる)。さらに、グラフィックスAPI側でも、DirectX 10やOpenGL 3.1以降は、基本的な変換処理から高度なエフェクトまで、すべての動作指示をシェーダープログラムで記述しなければ図形を描くことすらできなくなっている。
※この「実時間処理」の解説は、「グラフィックスパイプライン」の解説の一部です。
「実時間処理」を含む「グラフィックスパイプライン」の記事については、「グラフィックスパイプライン」の概要を参照ください。
「実時間処理」の例文・使い方・用例・文例
- 実時間処理のページへのリンク