- ベストアンサー
OpenGLグラボで画質向上?
OpenGLグラボを使うとフォントがシャープになる等して表示が美しくなると聞いたのですがそれは本当でしょうか。 OpenGLグラボを挿すとWindowsがDirectXではなくOpenGLを使うようになってDirectXではできない美しい表現をしてきたり、OpenGL性能が高いグラボを挿すと各種アプリやWindows以外のOSで多くのOpenGL機能が有効になって結果見栄えが良くなるのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
OpenGLはその名称が使われるようになったのは1992年頃の話で グラフィックスワークステーションといった、数百万円するような 非常にコンピューターで生まれた技術でした。 簡単に言えば、グラフィック処理のための、オプショナルな技術で 標準的な画面表示のための技術とは、別個に機能するものです。 パソコンも昔は高価でしたが1992年頃に 100万かけたPCを使うような人はほとんどいませでしたし Windows95が1995年に登場して、DirectXの時代が始まりましたが その頃の事務用の高価なPCは30万程度 グラフィック用に金をかけても、100万超えることは普通ありませんでした。 (業務用などは別ですし、外付けの機器込みなら100万くらい簡単に越えましたけど) ハードウェアとしてのグレードや性能の違いを補う方法として DirectXは、正確な動作よりも、高速な動作を優先しています。 当時は、Windows3系95系の信頼性の低さなどにも見られるように Microsoftは、信頼性や堅牢性よりも、多機能や高速動作を重視する性質がありました。 結果的には、主にゲーム用途としてDirectXは大きな成果を上げてきましたが OpenGLは、堅実に、確実で正確な表示を優先して開発されてきました。 今でこそ、UNIX系OSやLinux系OSがパソコン以外で広まったこともあって OpenGLは、一般に興味を持たれる機会も増えたと思いますが 10年くらい前なら、OpenGLはCADや科学技術計算といった分野以外では あまり人気のあるものでも無かったんですよね。 そういうわけで、OpenGLやDirectXはグラフィック表示のためのものなので 通常では、GUIそのものの表示には使われません。 WindowsではVistaあたりからDirectXを活用し GPUの性能でGUI表示を行い、CPUの性能を他の役割に活かすようになりました。 ですから、今はDirectXでのGUI表示が可能ですが これが、OpenGLを使うように設定できない限り OpenGL用とされるような、高価なGPUを持ってきても、効果は得られません。 というか、DirectX用とされているGPUでも OpenGLの性能が高くないだけで、OpenGLの機能自体は含まれているのが普通です。
その他の回答 (1)
- parts
- ベストアンサー率62% (6366/10151)
それは解釈が間違っていますよ。 OpenGLやDirectXというのは、プログラミングする際のプログラムの仕方を取り決めたものであり、ハードウェアの機能が向上することによって、プログラミングの仕様も徐々に変化するため、RevisionやVersionという形でAPI定義を拡張してきたものでしかありません。 即ち、何か特別なものがOpenGLだったら出来るとは限りません。また、DirectXがOpenGLに劣っているわけでもありません。フォントがシャープになる美しくなるといった部分は、OpenGLの処理によるものではなく、OS側がどのようにフォントやUIを制御しているかによって決まります。Windowsで言えば、Direct Write(Direct Graphicsの一部Direct2Dを利用してUIや文字などを描画する)が司る機能です。ちなみに、DirectX Graphicsが使われる前は、GDI/GDI+が使われていました。そもそもDirectX Graphicsそのものも、元はWindows Game API(WinG)であり、DirectXとして搭載されたのはWindows 95 OSR2.0(OEM Service Release)より後からです。 そして、WindowsではOpenGLは対応していますが、上記したようにUIの処理ではOpenGLは使いません。そのため、文字がシャープになることはありません。また、Windows環境で使うGPU(ビデオカード)に限らず、特殊なものを除いた一般に入手可能なGPUには、OpenGL対応の技術も、DirectXで駆動可能な技術もどちらも搭載しており、OS環境によって使うドライバが変わることで、利用するAPIも変化するのです。即ち、OpenGL専用のグラフィックボードというのは今の市場では、とてつもなくニッチな市場でも存在しません。まあ、DICOM用の特殊なグレイスケールビデオカードなどはありますけど・・・。 では、そういう話が何故出てくるのかという点を説明します。 それは、OpenGLを前提としたビデオカードが、主にグラフィックスワークステーションと呼ばれるいわゆるクリエーター向けの高価な製品だからです。nVidiaのQuadroやAMDのFire系カードがそれに相当します。この手のカードには対応した専用モニター(フード付きなどが好ましい)を利用すると、一般的なビデオカードが持つ色数やAPI演算性能を上回る特化されたOpenGLドライバが搭載されていることが多いのです。このクリエーションで実現する性能が、どこかで素人に伝わり、一人歩きしたものと思われます。(尚、クリエーター向けのカードは、普通の人が使う機能性には乏しくなるものがあります。要は、クリエーターが必要ない機能を削ぐ代わりに全ての能力をOpenGLでの描画性能に向けています) 尚、Windows以外のOSでは、基本的にAPIはOpenGLベースのUIが使われていることが多く、ビデオチップのドライバもそれに最適化されています。DirectXを使うのは、Windows及びWindows Phone、またはWindows Mobile、Windows ServerなどのWindows製品になります。技術的にAPIの最先端を進んでいるのは、Windows系のOSに搭載されるDirectXの方で、OSやハードウェア、プラットフォームの間での相互互換性が高いのはOpenGLです。 このほかにゲームなどで使う3D APIではPowerVRなども主にスマートフォンや携帯端末で使われています。失われたAPIとしては3dfx(現在のnVIDIA)のglideなどがあります。 これらのいずれを使うかは、プログラマーが決めることであり、ユーザーが選択できるようにするのも、プログラマーが両方に対応するように設計してこそです。そのため、意識的にユーザーサイドでAPIを変更すれば高画質になるといったことはありません。
お礼
parts様も大変詳細な解説ありがとうございました。 単に美麗なグラフィックのお披露目の際にOpenGL搭載のWSが利用された結果、間違った噂が流れてしまった可能性も十分ありますね。
お礼
とても詳細な解説ありがとうございました。 同じアプリでもDirectX版よりもOpenGL版の方がきれいだったり、わざわざコストをかけてコンテンツの制作と鑑賞でグラボを分けているということにも疑問を持っていました。OpenGLの歴史的な経緯は知っていましたが、本当に目に見える形でそれが現れていたのですね。勉強になりました。BAにさせていただきます。