問題タブ [hardware-acceleration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
3d - GPU、古いハードウェア、3D アクセラレーション、ライブラリ
3D アクセラレーションを備えた 2D ライブラリを作成していますが、古いハードウェアで効率的に実行できるようにしたいと考えています。ターゲットモードがサポートしていないオプション/機能を非表示にするための typedef の可能性があります。(エミュレーション機能がオンになっている場合もあります)
古いハードウェアの機能にはどのようなものがありますか? ここに私が知っている質問と事柄のリストがあります。
- タイル、これはサポートされません。古いため、私のライブラリはピクセルアクセスをサポートします
- スクロール付きの単一ピクセル バッファ。例 GBA
- 複数のサーフェスとサーフェス間のクイック ブルト (ストレッチなし)
- 複数のサーフェスとサーフェス間のクイック blt とストレッチ (これはエミュレートされたのでしょうか? HW ストレッチ画像はありますか?)
- HW ピクセル フィル (DX でオプションを見たと思いました)
- HW透明色? (DX仕様で見たような透明感のある色)
- 古いテクスチャは 2 の累乗でした。幅は高さと同じ 2 の累乗である必要はありませんか? (例 64x256)、それらが同じである必要がありますか?
- テクスチャ、新しいハードウェアでは任意の幅と高さを持つことができます (または、これは嘘ですか?)
- テクスチャはクレイジーなフォーマットにすることができます (ARGB 8888、ABGR 8888、ABGR 2 10 10 10)
また、テクスチャ トゥ テクスチャ ブリットを行うことはできませんか? HWのテクスチャAからBへの60x40のコピーのように?また、テクスチャをパレットに入れることはできますか? (私はこれをサポートしません) そして最後に、シェーダーについて覚えておく必要があります 8)
他に何が欠けていますか?
wpf - Ugly WPF text rendering - can't disable hardware acceleration on Vista
I'm experimenting problems with text rendering in WPF (third party applications and mine too). Labels and other text don't display correctly, look a little blurred and are rendered with some random colored pixels around.
I'm working on a low end crap machine (SiS Mirage 3 graphics) with Vista SP1, .NET 3.5 SP1 and graphics driver updated.
Another poor souls having similar problems were answered to try disabling hardware acceleration for WPF using Microsoft instructions to change the registry key:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration
The ultimate issue to me is: I can't find "Avalon.Graphics" in the registry at all. It's not there. Someone have a clue?
Thanks.
3d - 高レベルのハードウェア アクセラレーション 3D エンジンはありますか?
私は長い間フラッシュでプログラミングしています。興味深いことに、オープン ソース ライブラリを含むほとんどのものは、Flash の世界では非常に高レベルです。すぐに組み立てられるのでいいですね。しかし、Flash は遅すぎます (CV や視覚効果、ジェネレーティブ アートなどをやりたい)。
glut、Processing、OpenFrameworks を試してみましたが、Flash とはあまりにも違うことがわかりました。
高レベル (PaperVision3D など) で高速 (ハードウェア アクセラレーションが優れている) 3D エンジンがあるかどうか知りたいですか? どの言語でもかまいませんが、C++/Java/Python などの方が適しています。
wpf - wpfでハードウェアアクセラレーションを無効にするにはどうすればよいですか?
WPFでハードウェアアクセラレーションを無効にする手順は何ですか?正確には何ですか?これは、Windows設定、Visual Studio設定、またはWPFプロジェクトのコードで変更したものですか?実行しているプログラムにのみ影響しますか、それともシステム全体に影響しますか?
vb.net - vb.net 内で MD5 チェックサムの生成を高速化するにはどうすればよいですか?
P2 (Panasonic) カードにある非常に大きなファイルを扱っています。私たちが採用しているプロセスの一部は、最初にコピーしようとしているファイルのチェックサムを生成し、次にファイルをコピーし、次にファイルに対してチェックサムを実行して、コピーが正常に行われたことを確認することです。問題は、ファイルが大きく (70 GB 以上)、完了するまでに時間がかかることです。最終的に何千ものこれらのファイルを処理することになるため、これは問題です。
System.Security.Cryptography.MD5CryptoServiceProvider を使用する以外に、チェックサムを生成するより高速な方法を見つけたいと思います。特殊なハードウェア カードを使用することを意味するかどうかは気にしません。現在のように表示できるように、プロセスがどこまで進んだかについてフィードバックを提供するエンコード方法が必要です。
アプリケーションは vb.net で書かれています。アプリケーション内でコンポーネント、ライブラリ、参照として使用できるようにしたいのですが、チェックサムの生成速度が十分に向上する場合は、外部アプリケーションを呼び出しても構わないと思っています。
言うまでもなく、チェックサムは一貫していて正確でなければなりません。:-)
お時間とご尽力いただき、誠にありがとうございました。
リチャード
opencl - 私のOpenCLカーネルは、より高速なハードウェアでは遅くなります。しかし、なぜですか?
マルチコアプログラミングクラスのプロジェクトのコーディングを終えているときに、あなたと話し合いたいと思っていた本当に奇妙なことに気づきました。
マルチコアプラットフォーム向けにプログラムすることで大幅な改善が見られるプログラムを作成するように依頼されました。OpenCLを試すために、GPUで何かをコーディングしてみることにしました。私はマトリックス畳み込み問題に精通しているので、それを選択しました(以前、open_mpiを使用して並列化し、大きな画像を大幅に高速化しました)。
これが、大きなGIFファイル(2.5 MB)[2816X2112]を選択し、シーケンシャルバージョン(元のコード)を実行すると、平均15.3秒になります。
次に、MBP統合GeForce 9400Mで作成したばかりの新しいOpenCLバージョンを実行すると、平均で1.26秒のタイミングが得られます。これまでのところ、12倍のスピードアップです。
しかし、今度は省エネパネルに移動して「グラフィックパフォーマンスモード」をオンにします。このモードでは、GeForce 9400Mがオフになり、システムに搭載されているGeforce9600MGTがオンになります。Appleによれば、このカードは統合されたカードの2倍の速度です。
何だと思いますか、キックアスグラフィックカードを使用したタイミングは平均3.2秒です…私の9600MGTは9400Mより2倍以上遅いようです。
OpenCLに傾倒している方のために、開始する前にすべてのデータをリモートバッファーにコピーするので、実際の計算ではメインRAMへのラウンドトリップは必要ありません。また、OpenCLがそのパラメーターを理解するのにかなり良い実装を行ったことを読んだので、OpenCLに最適なローカルワークサイズを決定させました。
誰か手がかりがありますか?
編集:ここにmakefilesを含む完全なソースコードhttp://www.mathieusavard.info/convolution.zip
opengl - GPUで高速化されていないOpenGL関数はどれですか?
これを読んだとき、私はショックを受けました(OpenGL wikiから):
glTranslate、glRotate、glScale
これらのハードウェアは高速化されていますか?
いいえ、これを実行する既知のGPUはありません。ドライバーはCPUでマトリックスを計算し、それをGPUにアップロードします。
他のすべてのマトリックス操作もCPUで実行されます:glPushMatrix、glPopMatrix、glLoadIdentity、glFrustum、glOrtho。
これが、これらの機能がGL3.0で非推奨と見なされる理由です。独自の数学ライブラリを用意し、独自のマトリックスを作成し、マトリックスをシェーダーにアップロードする必要があります。
非常に長い間、私はほとんどのOpenGL関数がGPUを使用して計算を行うと思っていました。これが一般的な誤解であるかどうかはわかりませんが、しばらく考えてみると、これは理にかなっています。古いOpenGL関数(2.x以前)は、状態スイッチが多すぎるため、実際のアプリケーションには実際には適していません。
これにより、おそらく、多くのOpenGL関数がGPUをまったく使用していないことに気付きます。
したがって、問題は次のとおりです。
GPUを使用しないOpenGL関数呼び出しはどれですか?
上記の質問に対する答えを知っていると、OpenGLでより優れたプログラマーになるのに役立つと思います。あなたの洞察のいくつかを共有してください。
編集:
この質問は簡単に最適化レベルにつながることを私は知っています。それは良いことですが、それはこの質問の意図ではありません。
GPUを使用しない特定の一般的な実装(AshleysBrainが提案したように、nVidia / ATI、および場合によってはOSに依存する)のGL関数のセットを誰かが知っているなら、それが私が求めているものです!
もっともらしい最適化ガイドは後で来ます。このトピックでは、関数に焦点を当てましょう。
Edit2:
java - Java2D OpenGL ハードウェア アクセラレーションが機能しない
最も単純なプログラムでさえ、OpenGL では動作しません。これが私がやっていることです。
(Java2Demo.jar
通常はJDKに含まれています。)
テキスト出力は次のとおりです。
画面 0 のデフォルト設定で OpenGL パイプラインが有効になっている
上記の VM 引数を渡さない場合、問題なく動作します (ただしゆっくりと)。上記の引数を渡すと、何も表示されません。ウィンドウを移動すると、その上にあった画像がキャプチャされ、ごちゃごちゃになります。
Windows XP Pro SP3 (Microsoft Windows XP [バージョン 5.1.2600]) (OS X 10.5.8 の Parallels の下) を実行しています。
「Geeks3D GPU Caps Viewer」を使用して、Open GL バージョンがあることを通知しました。
2.0 NVIDIA-1.5.48
これを 2 つのバージョンの JVM で試しました。初め:
そして2番目:
qt - QGLWidget とハードウェアアクセラレーション?
皆さん、こんにちは。
QGLWidget をサブクラス化し、paintEvent() を再実装するだけで、OpenGL とハードウェア アクセラレーションを利用できますか? QPainter を作成し、この paintEvent() で QImages を描画します。
QGLWidget の paintEvent() メソッド内で何が起こっていますか? 画像 (QImage、QPixmap) を OpenGL テクスチャに変換しますか?
画像のスケーリングにハードウェア アクセラレーションを使用しますか?
前もってありがとう、ウマンガ