タグ付けされた質問 「gpu」

GPU(グラフィックスプロセッシングユニット)は、画像の構築プロセスを加速するように設計された専用プロセッサーです。

1
OpenGL:フレームが部分的に前後にジャンプする[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 2年前休業。 私はSDLとOpenGLでプロジェクトに取り組んでいます。このゲームは、Windows、Linux、OS X、iOSでうまく動作します。ただし、Android版は特に私の電話で問題を示しています。私は別のデバイスをテストしましたが、そこでもうまく機能します。 私が直面している問題は視覚的な不具合です。これはバーストで発生します。たとえば、90フレームは問題なく、40フレームはグリッチです。グリッチ自体は説明するのが難しいですが、私は試してみます。画面が部分的に正しく更新され(携帯電話の上部から約半分まで)、部分的にちらつきます。ちらつき効果は、ある種の前後のジャンプです。ダブルバッファリングに関係していると思います。画面に表示されるのは、フレームごとに前後にジャンプするためです。画面の半分が時間的に1フレーム、次のフレームが2フレーム遅れているようです。エヒタナハの行列のように、私はあなたが言うことができると思います。チャートを下っていくときに時間が経過するチャートにプロットすると、 left half | right half (phone is in landscape) ------------------------ time 1 | 1 1 time 2 | 2 2 time 3 | 3 1 time 4 | 4 4 time 5 | 5 3 time 6 | 6 6 time 7 | …

3
ユーザーのビデオカードを選択する正しい方法は?
私のゲームはDirectX 10を使用していますが、私のゲームがグラフィックスカードで取得されないというユーザーからの報告がありました。代わりに、統合されたIntelカードで実行することを選択し、パフォーマンスを台無しにします。これはWindows 8に関連している可能性があります。モバイルカードに関連している可能性もあります。 これまで、DirectXが独自のアダプターを選択できるように、アダプターを指定せずにDirectX 10デバイスを作成してきました(これまでのすべての例/デモで見たように)。どうやら私はそれを変えなければならないだろう。 利用可能なすべてのアダプタを実行し、専用メモリの量が最も多いものを選択する関数をすでに持っています。それは問題を修正するためにうまく機能しますが、それは一般的に正しいですか? 残念ながら、この問題の影響を受けるマシンは必要なカードの出力を報告しないため、カードが有効なビデオ出力(つまり、モニターが接続されている)に依存することはできません。 DirectXで使用するアダプターを適切に選択するには、どのアルゴリズムを使用できますか?

2
GPUにはいくつの「並列ユニット」がありますか?
GPUが持つ頂点を処理するための並列ユニットの数を教えてください。 このウィキペディアのページでは、GFLOPSとクロック速度を提供しています。たとえば、Radeon 5850 "Broadway PRO"の場合、1000 GFLOPSが得られます。頂点シェーダーの実行が100フロップであると仮定すると、1秒あたり1000e9 / 100 = 10e9の頂点を処理できます。 製造元が公開している並列処理ユニットの数、またはその数を知る方法はありますか?
8 gpu 

3
OpenGLの内部を学習するためにOpenGLドライバーがどのように実装されるのか知りたいのですが?
私はOpenGLを学んでいて、グラフィックスカードとの相互作用がどのようになるかを本当に知りたいです。 それがグラフィックスドライバーでどのように実装されたかを理解し、openglの完全な内部を知らせます(これにより、openglでのパフォーマンスに関する決定にどの段階/要因が影響するかを知ることができます)。 このパスを進める方法はありますか?「Mesa lib」を探索することは、この点で私に役立ちますか?私は正しい道にいますか? [この質問をSOFに投稿しましたが、ここがこの質問の正しい場所であるようです。]

2
Flash Player 11のGPUを有効にする方法は?
Flash Player 11とSDK 4.5(hero)をインストールし、小さなプログラムでテストします。しかし、それでも3D APIをシミュレートするために「ソフトウェア」を使用していることがわかりました。 trace("driver info: " + _context3D.driverInfo); 出力 driver info: Software 私はWindows 7を使用していますが、directXは正しく動作し、オプション「-swf-version 13 -use-gpu」がコンパイラー引数にすでに追加されています。 Flash BuilderでGPUを有効にする方法を教えてください。 更新: context3dは次のように構成されます。 private var _context3D:Context3D; ... _context3D = stage3D.context3D; また、wmodeはhtmlでdirectに設定されています。

2
HLSL-2Dでの影の作成
シャドウを作成する方法は、次のテクニックです。http: //www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic-2d-shadows/ しかし、HLSLに質問があります。私が現在行っている方法は、白黒の画像です。ここで、黒は「オブジェクト」を意味し、白は「何もない」を意味します。次に、チュートリアルのように画像を変形します。これはピクセルシェーダーで行いますが、画面にレンダリングするのではなく、テクスチャにレンダリングして、アプリケーションに戻します。次に、これを取得して影を作成し、グラフィックカードに送り返して歪みを元に戻します。影が追加された後、これが戻ってきて、影のステンシルがあります。これを元の画像の上に配置してグラフィックスカードに送り返すと、画面に表示されます。 私にとってこれはたくさんのやり取りです。これを回避する方法はありますか? 私が抱えている問題は、基本的にテクスチャのすべての位置を3回通過し、元のテクスチャの代わりに毎回新しい新しいテクスチャを使用する必要があることです。パスを読み上げてみましたが、正しい方向に進んでいるとは思いません。 助けて?
7 xna  2d  hlsl  gpu 

3
これらのDirectX11呼び出しのうち、実際にデータをGPUに送信するのはどれですか。
グラフィックプログラミングとDirectX11を学ぼうとしています。 CPU-GPU転送とグラフィックプログラミング全般を最小限に抑える方法を学びたいと思っています。 オンラインリソースから自分に答えることができなかったという質問があります。 実際にデータをGPUに送信するD3Dメソッドはどれですか(同等に、静的メッシュの場合、すべての頂点データがフレームごとに、または1回だけGPUに渡されますか)。 コードは次のとおりです: (stackexchangeの簡略化) 私の「メッシュ」クラスには、頂点バッファーがあります。 ID3D11Buffer *m_pVBuffer; メッシュのコンストラクターで、いくつかの頂点を頂点バッファーに設定します。 D3D11_MAPPED_SUBRESOURCE ms; devcon->Map(m_pVBuffer, NULL, D3D11_MAP_WRITE_DISCARD, NULL, &ms); memcpy(ms.pData, &vertices[0], sizeof(VERTEX) * vertices.size()); devcon->Unmap(m_pVBuffer, NULL); 次に、メッシュの「レンダリング」メソッドでこれを行います。 UINT stride = sizeof(VERTEX); UINT offset = 0; devcon->IASetVertexBuffers(0, 1, &m_pVBuffer, &stride, &offset); devcon->IASetIndexBuffer(m_pIBuffer, DXGI_FORMAT_R32_UINT, 0); devcon->IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST); devcon->DrawIndexed(m_num_indices, 0, 0); 繰り返します:データをGPUにアップロードするのは、頂点バッファーをマップ、memcpy、およびマップ解除するときですか、それともIASetVertexBuffersを呼び出すときにフレームごとにアップロードされますか?

1
効率的なスプライトのバッチ処理
XNAからStage3D API(Molehill)への移植を検討しています。したがって、パフォーマンス検査としてスプライトバッチ処理を実装しましたが、パフォーマンスはそれほど優れていませんが、XNAを使用すると、最大500,000のクワッドを簡単に描画できますが、Molehillを実装すると、約1000クワッドを描画できます。 CPU側ではかなり劇的なパフォーマンスの違いが予想されましたが、これはGPUにバインドされているためです。 したがって、現在の実装は次のとおりです。 set render states let texture be null let batchSize be arbitrary for each sprite in queue if texture is not sprite texture or buffers are full upload vertex data to index buffer upload index data to vertex buffer bind texture draw triangles flush vertex data flush …

2
Silverlight 5でGPUを使用して高速フーリエ変換を行う
遅いマシンで加速が必要なSilverlightのオーディオライブラリがあります。具体的には、このライブラリは、音響エコーキャンセレーションおよびノイズリダクションアルゴリズムの一部としてFFT変換を広範かつ繰り返し使用します。このためにGPUを使用するのが理にかなっているか疑問に思います(たとえば、ここ:http : //www.inf.fu-berlin.de/lehre/SS10/SP-Par/download/fft1.pdf)。 Silverlight 5がMicrosoftのXNAフレームワークのかなり単純なポートを提供していることは知っていますが、残念ながら、私は3Dコーディング全般、特にXNAの完全な初心者です。理論的には頂点および/またはピクセルシェーダーの組み合わせを使用してこの魔法を働かせることが可能であるように思えますが、この道を進む前に、いくつかの質問について専門家の意見を聞きたかったのです。 (1)SL5のXNA実装は、そのパイプラインの出力を単一の "DrawingSurface"にスローします。私はこれが計算の結果を読み取ることができるかもしれないと思っていました(WriteableBitmapを使用して、SL4のピクセルシェーダー計算の結果を読み取る方法の一種)。しかし、どうすればよいのかわかりません。「GetPixels()」メソッドなどはありません。通常のXNA 4.0では、VertexBufferにGetData()メソッドがあり、Texture2DおよびTexture3Dクラスと同じですが、これらのメソッドはSL5バージョンにはありません。シェーダー出力の結果を実際に読み取る方法を知っている人はいますか?または、GPUはSL5の書き込み専用デバイスですか? (2)GPU計算の本当の問題は、結果をすばやく読み取ることです。私が問題1を解決できると仮定すると、FFTがこの種のソリューションに適しているかどうか誰かが知っていますか? (3)Silverlight 5はHLSLレベル2に制限されています。HLSLレベル2には、命令、レジスター、使用可能な関数などに関して、いくつかの重大な制限があります。FFTまたはその一部をこれに移植できると期待することはまったく理にかなっていますか? 前もって感謝します。
7 xna  gpu  gpgpu 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.