グラフィックスAPI
最終更新日
2023年09月07日
グラフィックスAPI
PCゲーム、動画編集、画像編集等のソフトウェアは、グラフィックスAPI(アプリケーション・プログラム・インターフェース)を利用し、グラフィックス関連の高度な処理や高速処理を行います。
グラフィックスAPIの種類
DirectX
DirectX(ダイレクトエックス)は、高度なグラフィックス、オーディオ関連の処理を行うために利用します。Microsoftがゲーム用に向けて開発、提供しているため、DirectXを利用するゲームソフトウェアが多いですが、動画編集、画像編集ソフトウェアも多いです。
DirectXは開発が行われており、数年ごとに新しいバージョンの提供があります。
DirectXは互換性がありますので、例えばDirectX 10対応GPUが必要でも、それより新しいバージョンのDirectX、例えばDirectX 11対応GPUがあればよいです。
DirectXはMicrosoftのOSが内蔵しており、Windows、ゲーム機のプラットフォームに限られますが、他のOSでDirectXを絶対に利用できないわけではありません。
DirectXの処理によってはDirectX対応GPUがないと実行できません。
その場合はソフトウェアによっては別の処理を代用しますが、処理速度や描画の質が落ちることがあります。
別の処理を代用できず正常に動作しないソフトウェアもあり、特にゲームでよく見られ、ゲームタイトルによってはDirectX対応GPUがないと全くプレイできません。
OpenGL
OpenGL(オープンジーエル)は、高度なグラフィックス処理を行うために利用します。2次元、3次元グラフィックス関連の処理で豊富な機能を持っており、OpenGLを利用する動画編集、画像編集ソフトウェアが多いです。
OpenGLは開発が行われており、数年ごとに新しいバージョンの提供があります。
OpenGLは互換性がありますので、ソフトウェアが必要とするOpenGLのバージョンよりも新しいバージョンのOpenGLにGPUが対応していればよいです。
OpenGLはMicrosoftのOSに限らず、Unix、Linux、Mac OS等、様々なOSで利用できます。
ソフトウェアによってはOpenGL対応GPUがないと正常に動作しません。
正常動作しないとまではいかなくてもOpenGLを積極的に利用しているソフトウェアの場合、OpenGL対応GPUがないとGPUが得意とする処理をCPUが担うことになり、グラフィックス処理速度が落ちてしまうことがあります。
CUDA
CUDA(クーダ)は、高速な並列計算処理を行うために利用します。NVIDIAが開発、提供しており、CUDAを利用できるGPUはNVIDIAのGPUに限られます。
CUDAは動画編集、画像編集ソフトウェアに限らず、シミュレーションソフトウェア等の科学研究用のソフトウェアでもよく利用されています。
グラフィックス関連の処理では並列処理が行える処理が多く、CUDAを利用している動画編集、画像編集ソフトウェアとCUDAに対応しているGPUを使用することで大幅な処理速度の向上が実現できます。
APPアクセラレーション
APPアクセラレーションは、高速な並列計算処理を行うために利用します。AMDが開発、提供しており、APPアクセラレーションを利用できるGPUはAMDのGPUに限られます。
APPアクセラレーションは動画編集、画像編集ソフトウェアでよく利用されれており、APPアクセラレーションに対応しているGPUと併用することで大幅な処理速度の向上が実現できます。
DirectCompute
DirectCompute(ダイレクトコンピュート)は、高速な並列計算処理を行うために利用します。Microsoftが開発、提供しており、グラフィックス関連以外でもGPUを活かした高速な並列処理を実現できます。
CUDA、APPアクセラレーションと同じような目的で利用しますが、両者のAPIと違ってDirectComputeはNVIDIAのGPUでもAMDのGPUでも利用できます。
CUDAを利用しているソフトウェアでCUDAによる高速処理を実現するならNVIDIAのGPUを選ぶ必要がありますが、DirectComputeを利用しているソフトウェアであれば、GPUがDirectComputeに対応していればNVIDIA、AMDどちらのGPUを選んでもよいです。
OpenCL
OpenCL(オープンシーエル)は、高速な並列計算処理を行うために利用します。パソコン用のGPU、CPUに限らず、家庭用ゲーム機等の様々なデバイスが搭載しているプロセッサーでも利用できます。
OpenGLと共に動画編集、画像編集ソフトウェアでよく利用されています。
OpenGLとDirectXの表示精度
OpenGLの表示精度が高い理由
OpenGLはDirectXより表示精度が高いです。表示精度の高さが求められるCG、CAD等がOpenGLを利用してきました。DirectXはゲーム用なので、ある程度の表示ができれば十分です。正確に表示するとしても処理に時間がかかると問題です。例えば、ある場面でポリゴン(立体形状を表現する多角形)を正確に表示するため処理に時間がかかるが、そのために時間をかけると、まるでスローモーションのようになり快適にプレイできません。昔のゲームでは一部のポリゴンが表示されなかったり表示されても変に見える場合がよくありましたが、正確な表示を犠牲にして一定時間内に処理を完了させたためです。今のゲームではDirectXの表示精度が向上したのであまり見られません。
OpenGLは処理に時間がかかってでも正確に表示します。正確に表示しないと問題です。例えばCG制作中に一部のポリゴンが表示されなかったり表示が変だとCG制作に支障をきたします。OpenGLの元であるGL(Graphic Library)は、SGI(Silicon Graphics)のワークステーションが搭載していたC言語API群です。GLからSGIワークステーションの機種依存部分を取り除いたバージョンがOpenGLです。GLの時点で高い表示精度が要求されるCG、CAD等用に設計されたので、その特性をOpenGLが受け継いでいます。
OpenGLとDirectXの表示精度の差がほとんどなくなった理由
DirectXが表示精度を犠牲にした理由は、GPUの性能が十分ではなかったためです。一定時間内に表示精度が高い処理を完了させるには、GPUに高い性能が必要です。昔と違って今では技術進歩によりGPUの性能が向上し、それに合わせてDirectXの表示精度も向上しOpenGLとの差がほとんどなくなりました。その影響で、CG,CAD等でOpenGLに限らずDirectXも利用するようになりました。CG,CAD等ではOpenGLからDirectXへ移行が進んだ様子が見られ、例えば、CG,CAD等のソフトウェアによっては動作環境からOpenGLの記述がなくなり、DirectXのみ記述されるようになった場合もあるほどです。製品の例を挙げると、AutoCADはOpenGLベースでしたが、2010年にAutodeskがDirectXを取り入れ、今ではほぼ完全にDirectXベースです。
キャンペーン情報(PR) |
---|
・春のパソコンセール 最大70,000円OFF!! (4月24日迄) DELL ・今週のおすすめ製品 対象製品が最大20%OFF (キャンペーン実施中) パソコン工房 ・WEB開催!スプリングセール ゲーミング・クリエイター向けパソコンなどをご用意 (4月23日迄) |