GPUを必要としないゲームを作成することは可能ですか?


8

今日の多くのコンピューターに、DirectXとOpenGLをサポートするGPUが搭載されていることはすでに知っています。しかし、そうでないコンピュータはどうでしょうか?古いマシンでも動作するように、GPUに依存しないシンプルな2Dゲームを作成できますか?

これを可能にするクロスプラットフォームのCまたはC ++ゲームライブラリはありますか?理想的には、このようなライブラリを使用すると、ほんの数行のコードでハードウェアアクセラレーションを切り替えることができます。


3Dで行うこともできます。最初のアンリアルトーナメントはCPUで実行されました。
PeterØlsted、2011年

あなたは何歳ですか?まだ実行中のほぼすべてのものは、OpenGLまたはDirectXの一部のバリアントをサポートします。
3Dave、2011年

@DavidLively私は少し「古い」ように聞こえるかもしれませんが、マザーボードのビデオメモリの使用など、古いハードウェアを使用しているユーザーがまだいます(少なくとも古いバージョンでは、DirectXもOpenGLもサポートしていません)。さらに、私が得た答えからわかるように、ハードウェアアクセラレーションを切り替えることは難しくないので、とにかく大変です。
user999687 2011年

ハードウェアで高速化されたGPUは、長い間標準になっています。また、Windows 98、200 MHz未満のCPUを搭載したマシン、または64 MBのRAMをターゲットにする予定ですか?

1
GPUは完全に不要:igf.com/php-bin/entry2012.php
id

回答:


6

確かに、あなたはSDLを使うことができ、私はそれがデフォルトでCPU上ですべてを行うと信じています。コードをうまく管理すれば、実際にはかなり良いパフォーマンスを得ることができます。


ありがとう!SDLは、(Allegroと一緒に)私が選択するゲームライブラリの1つです。
user999687 '17 / 10/17

2

PongがGPUを使用したと思いますか?

あなたがいつもウェブでプレイしているFlashゲームは、GPUを使用していると思いますか?

(GPUサポートを使用するためにFlashゲームを開発できるのは、ここ数週間だけです。Flashは10年以上前から存在しています。)

もちろん可能です。私は、コンシューマ市場向けの高速グラフィックスカードなど、グラフィックス専用の(さらに具体的には、ゲームグラフィックス専用の)チューリングコンプリートプロセッサが登場するまで、10年間ゲームをプレイしてきました。


返信いただきありがとうございます。私が混乱したのは、DirectXとOpenGL、またはこれら2つをサポートする他のゲームライブラリ(少なくともC / C ++に関して)だけです。
user999687 '17年

この答えは不誠実です-PongにはGPUがありませんでしたが、CPUもありませんでした。非常に初期のゲームはTTLチップを使用しており、現在プログラム可能なコンピューターとして認識されているものはありません。

@JoeWreschnig(a)CPU!=マイクロプロセッサ。時間をかけて古い文献を読んでください。CPUでTTLを使用しても、魔法のようにCPUになるのを妨げることはなかったことがすぐにわかります。CPUは、TTLが当時の基盤技術であったコンピュータアーキテクチャにおける役割です。(b)不誠実なの定義を読み直して、その使い方を知らないことが明らかであるためです。
エンジニア、

@ニック:TTLで実装されたCPUではないことを除いて、ゲームはTTLで実装されました。それはプログラム可能なコンピューターではなかったので、CPUはありませんでした。

@JoeWreschnigそれ CPUでした。「中央演算処理装置(CPU)は、コンピュータープログラムの命令を実行して、システムの基本的な算術演算、論理演算、および入出力演算を実行するコンピューターシステムの一部です。」それが定義です。彼らは40年代から存在しています。CPUを構成するものについてのあなたの見解は不正確です。プログラマビリティを必要とする定義(ソフトウェアでエンコードされた命令など)はどこにもありません。
エンジニア

2

忘れないでください、第一世代のビデオゲームはオシロスコープ用に書かれました!そして、第一世代のビデオゲームで私はピンポンを意味します。GPUは数学プロセッサであり、これもCPUと同じです。それはより専門的です。


1

それは絶対に可能です。最初のコンピューターゲームはGPUよりも前に存在していました。GPUで実行されている処理はすべてCPUでも実行できますが、通常は全体的な速度は遅くなります。(たとえば、Quakeの最初のリリースでは、ソフトウェアレンダリングのみが使用されていました[1]

Mesa3Dは、完全なソフトウェアレンダリングをサポートすると主張するOpenGL実装です。(ただし、リファレンス実装として以外は使用していません)。


「通常は遅い速度で」は非常に主観的であり、一般的な声明として、違いの理解はかなり貧弱です。簡単な概要は、SIMDパラダイムによく適合し、条件付きロジックを最小限に抑えるopsがGPUに適しているということです。これには、生のピクセルプッシュや頂点処理などの大量の処理を伴うタイプのタスクが含まれますが、CPUは汎用の主力およびデリゲーターです。リアルタイムレイキャスティングとグローバルイルミネーションの最先端の研究では、CPUとGPUの両方から最適なパフォーマンスを引き出すために、使用されるアルゴリズムのサブパートが非常に慎重に委任されています。
エンジニア、

2
「通常」と「全体」のセマンティクスについては議論したくない。私はそれが漠然とした十分な主張であると期待していました:一般的に、GPUへのジョブの配送のオーバーヘッドコストを考慮すると、多数の並列演算を実行することで成功しますが、これが当てはまらない場合もあります。
クレイトンヒューズ

元のステートメントが真実ではない場合と同じくらい多くの場合があると言っても過言ではありません。そして、これらの並列処理に特に適したソリューションがない限り、いや、それは速くなることはなく、実際にはかなり遅くなる可能性があります。「議論」を避けようとするよりも、事実をより正確に表すほうがよいでしょう。誤解を招かないようにしましょう。
エンジニア、

1

2Dゲームのみの場合は、flash 10またはを使用することをお勧めしますSDLが、ゲームに3Dアセットとレンダリングが含まれていると思われる場合は、Irrlichtも使用できます。基本的には、ハードウェアとソフトウェアの両方のレンダリングをサポートするオープンソースのクロスプラットフォーム3Dエンジンです。

ウィキから:

Irrlichtは、OpenGL、DirectX 8および9、OpenGL ES、および内部ソフトウェアラスタライザを介した3Dレンダリングをサポートしています。


-1

質問することは可能ですが、3Dアクセラレーションを破棄しても通常はほとんどメリットがないことに注意してください。最近のすべてのPCには3Dアクセラレーションが組み込まれています。この機能のない数台の古いマシンは非常に小さなゲーム市場を構成しており、おそらくそれらとの互換性の問題も他にもあるでしょう。

あなたが間違った理由でこの質問をしているのを恐れています。


古いハードウェアを使用しているユーザーでも、だれでもかなり利用できるゲームを構築する方法を探していました。さらに、私が言ったように、私はクロスプラットフォームのゲームライブラリを要求したので、(特定のハードウェアプラットフォームの)互換性がある程度失われることを明らかに予想しましたが、少なくともプログラミングを少なくし、ユーザーの大部分を対象とする製品を使用する必要がありました。いいポイントですが、(ほとんど)誰でもゲームを利用できるようにしたいと思います。しかし、私はまだ初心者であり、複数のプラットフォーム用にコードを作成することはないので、少なくとも今のところ、これは進むべき道だと思います。
user999687 2011年

初心者はまず使いやすいライブラリを入手する必要がありますが、高速化されていないライブラリである可能性があると言っているわけではありませんが、基準は検索を容易にするものではありません。
aaaaaaaaaaaa 2010年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.