問題タブ [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.
android - Android携帯のハードウェアエンコーディングビデオ
ハードウェアアクセラレーションを使用したAndroid携帯でのビデオのエンコードに関する情報を探しています。一部の電話(誰かがリストを持っている場合)がカメラのエンコードをサポートしていることを知っており、チップにアクセスして、wifi、usbなどを介して提供されるライブフィードをエンコードできることを望んでいました。また、そのようなチップが提供するレイテンシーにも興味があります。
編集:どうやらAndroidはPacketVideoを使用しているようですが、エンコーディングに関するドキュメントはあまりありません。
編集:Androidのドキュメントにはビデオエンコーダーが示されています:http://developer.android.com/reference/android/media/MediaRecorder.VideoEncoder.html。ただし、ハードウェアアクセラレーションについては何も述べていません。
opengl - 最新のグラフィックスパイプラインのどれだけが専用ハードウェアを使用していますか?
別の言い方をすれば、GPGPU(CUDA、OpenCL)を使用してOpenGLまたはDirectX(またはアナログ)を再実装しようとすると、NVIDIAおよびAMDカードのストック実装よりも遅くなるのはなぜですか?
GPGPUを使用して、頂点/フラグメント/ジオメトリ/テッセレーションシェーダーをどのように高速に作成できるかはわかりますが、レンダリングするフラグメントのリストの生成、クリッピング、テクスチャサンプリングなどについてはどうでしょうか。
私は純粋に学術的な興味を求めています。
android - ViewPager または ScrollView 内の WebView - Android 3.0 以降での奇妙なレンダリング バグ
ViewPager があります。ViewPager のすべてのページは ScrollView です。ScrollView には、WebView と他のいくつかのビューが含まれています。
Android 2.3 以前ではすべて問題なく動作しますが、3.0 以降では奇妙なレンダリングの問題があります。
ViewPager で左右にスクロールすると、非常に微妙なレンダリングの問題もあります (これは Android 4.0 の Gmail アプリにも存在します)。
css - animate のような CSS3 プロパティは CPU を集中的に使用しますか?
この繰り返しのアニメーション コードはシステムの速度を低下させますか?:
すべての CSS3 プロパティは CPU 集中型ですか?
ありがとう。
gcc - gcc コンパイラで複数のプログラムをコンパイルする際に GPU アクセラレーションを使用することは可能ですか?
GCC コンパイラでプログラムをコンパイルする際に GPU アクセラレーションを適用する方法またはツールはありますか? 現在、指定されたプログラムのリストを繰り返しコンパイルするプログラムを作成しました。数分かかります。ハッシュの事前計算に GPU アクセラレーションを適用するのに役立つ Pyrit のようなプログラムをいくつか知っています。
そのようなツールが利用できない場合は、コードを再プログラムするために OpenCL を使用するか、他のものを使用するかについてアドバイスをください。
qt - RGBA32 ピクセルを OpenGL ES テクスチャに直接保存する
画面にブリットする必要があるフレームを提供するライブラリを使用しています。バッファを割り当てると、このライブラリはこのバッファに直接書き込みます。必要な場合は、このバッファーの指定された部分を画面にブリットする必要があります。Qt と OpenGL/ES ペイント エンジンを使用してレンダリングしています。
質問: 画面にブリットする最速の方法は何ですか? QImage
現在、データへのポインターを受け入れるコンストラクターを使用してバッファーをロードしています。これにより、コピーが回避されます。次に、 のdrawImage()
方法を使用QPainter
して、画面の正しい領域にブリットします。このメソッドは、領域のコピーを GPU メモリにロードし、OpenGL テクスチャを使用して画面にブリットすると思います。
プロセスをスピードアップするために、このコピーを避けることは可能でしょうか? たとえば、GPU に転送する必要がないように、OpenGL テクスチャで直接描画することは可能でしょうか? ピクセル バッファ オブジェクトを読みました。それが解決策になるのではないでしょうか?この目的で を使用してもQGLFramebufferObject
よろしいですか?
java - Java アクセラレーション グラフィックス
Graphics2d クラスを使用して Java で 2D ゲームを作成してみたいと思います。ちらつく画像が表示され続けます。少し調べてみたところ、より高速なフレーム レートを実現するには、高速化されたグラフィックスを使用する必要があることがわかりました。どうすればいいですか?
画像を非常に高速に描画する方法と、画面がちらつかないようにする方法を知る必要があります。
例に加えて、基本的なアクセラレートされたグラフィックスのチュートリアルへの参照もいただければ幸いです。たとえば、これは便利だと思いましたが、基本を学びたいです。
android - ハードウェアアクセラレーション使用中のclipRect()の置き換え
誰かがclipRect()の代わりにアドバイスできますか?クリップ*メソッドはハードウェアアクセラレーションにはまだ実装されていません
.net - .NET / Mono HW Accelerated Graphics with Software Fallback
バックグラウンド
私の知る限り、WPFは、可能であればハードウェアアクセラレーションによる描画を行い、ユーザーがDirectX9以降を使用していない場合はソフトウェアレンダリングにフォールバックします。これは非常に興味深いアイデアであり、XAMLのアイデアも気に入っています。
私がそれを好きではない理由、そして私がそれを学ぶことさえしなかった理由は、WindowsフォームはMicrosoftテクノロジーであり、WPFより劣っていますが、 Monoを介したクロスプラットフォームであり、WPFには当てはまらないためです。そしておそらく決してそうなることはないでしょう。Linux / OSX用の.NETWinFormsラッパーが将来、特許の壁にぶつかるかどうかについては議論
がありますが、それはこの質問の範囲外です。
質問
必要なGPU/ドライバーのないシステムのソフトウェアフォールバックで基本的なハードウェアアクセラレーション(アルファ合成、高速ピクセル操作など)を使用できるようにする.NETおよびMono用のライブラリはありますか?
つまり、古くないデスクトップや最新のラップトップでは高速のグラフィックスですが、ローエンドのネットブックや同様のデバイスでは使用可能なグラフィックスです。これはゲーム開発用ではありません。
その他の注意事項
GDI+を高速化するための秘訣がいくつかあります。Set / GetPixelは、生のポインタアクセスによって大幅に改善されています。
使用されるピクセル形式は、レンダリングを大幅に改善できます。32bppPArgb(32ビットと8ビットのAlphaおよびRGB値にalphaが事前に乗算されています)。より高速にすることができる他のトリック
がありますが、マネージドGDI+はいくつかの目的のためにまだ遅いです。
私が知っているフレームワーク
- Unity3D- _
AFAIKはMonoをサポートしていません。します。無料版のシェアウェア。 - TAOフレームワーク-少し複雑に見え、ソフトウェアレンダリングをサポートしていないようです。
- OpenTK-アクティブで、十分に開発されており、TAOよりも優れていますが、ソフトウェアのフォールバックもありません。
- SDL.NET-上記と同じ問題。
- MonoXNA-上記と同じ。
- Irrlicht-「これは完全にクロスプラットフォームであり、D3D、OpenGL、および独自のソフトウェアレンダラーを使用しています」。
- Silverlight / Moonlight - dthorpeによって提案されました。アルファ品質、サポートなし。
- Mono.Cairo -MarkHによって提案されました。
- AGG-非公式のC#ポートを使用してC ++で実装された、高品質で非常に効率的なソフトウェアレンダリング。
- Axiom3D -Ogreポート。オープンソースのMonoをサポートし、生きているようです。有望な。
私の現在の選択はIrrlichtを試してみますが、それは私が他に選択肢がないからです。ある?また、ソフトウェアレンダリングをサポートしているように見えますが、 .NET / Monoラッパー
での状態はわかりません。また、サポートリンクはフォーラムの投稿です。
現時点ではありません。
さらに、さらに問題があります。グラフィックライブラリを「抽象化」する方法がわかりません。さらに、間違った選択をしたことに気付いた場合、どうしたらよいかわかりません。
この質問の長さを許してください。
編集:この質問には2つの非常に建設的な回答があったので、数日待って、最も賛成の回答を受け入れた回答としてチェックします。
別のニュースでは、OpenGLは、OSベンダーとサードパーティの両方によってソフトウェアに実装されているようです。これらの実装は、サードパーティのドライバーがない場合にOpenGLフレームワークによって使用されます。
cuda - FFMPEG は CUDA やその他のハードウェア アクセラレーションをまだ利用していますか?
単純な質問ですが、答えを見つけるのに苦労しています。
トランスコーディング エンジン (できればオープン ソース) を決定していますが、FFMPEG はハードウェア アクセラレーションを利用していないように見えますが、よくわかりません。
ffmpeg は libavcodec を使用していると思います。これは、Handbrake などの他の無数の製品で使用されているのと同じライブラリです。ハードウェアアクセラレーションをサポートしていないなんて信じられないので、私の質問です。