タグ付けされた質問 「hardware-acceleration」

6
CSS3でハードウェアアクセラレーションを有効にするとパフォーマンスが低下するのはなぜですか?
からテストのパフォーマンスへの移行を使用して、css3実験で6000個の小さなdiv要素を移動top: 0しtop: 145pxています。 ハードウェアアクセラレーションを使用しないと、 GoogleChromeでスムーズに実行されます。 ハードウェアを有効にするtranslateZ(0)と、パフォーマンスによるアクセラレーションがひどくなります。 どうしてこんなことに? これが私のサンプルコードです:http://dl.dropboxusercontent.com/u/17844821/tmp/hwtest.html 更新(2014-11-13):この質問はまだ注目を集めているので、最新のハードウェアで提供されているデモでは言及された吃音が表示されなくなったとしても、問題自体はまだ存在しているように見えることを指摘したいと思います。古いデバイスでもパフォーマンスの問題が発生する可能性があります。

2
IntelグラフィックハードウェアH264 MFT ProcessInput呼び出しは、いくつかの入力サンプルを供給した後に失敗します。NvidiaハードウェアMFTでも同じように機能します。
DesktopDuplication APIを使用してデスクトップをキャプチャし、サンプルをGPUでRGBAからNV12に変換して、MediaFoundationハードウェアH264 MFTにフィードしています。これは、Nvidiaグラフィックスとソフトウェアエンコーダーで正常に動作しますが、インテルグラフィックスハードウェアMFTのみが使用可能な場合は失敗します。ソフトウェアMFTにフォールバックすると、同じIntelグラフィックマシンでコードが正常に機能します。また、Nvidiaグラフィックスマシンのハードウェアでエンコードが実際に行われるようにしました。 Intelグラフィックスでは、MFTはMEError("Unspecified error")を返します。これは最初のサンプルが供給された直後にのみ発生し、後続のProcessInputの呼び出し(イベントジェネレーターがMETransformNeedInputをトリガーしたとき)は"呼び出し先は現在それ以上の入力を受け付けていません"を返します。MFTがこれらのエラーを返す前に、さらにいくつかのサンプルを消費することはまれです。この動作は混乱を招くので、イベントジェネレーターがIMFAsyncCallbackを介してMETransformNeedInputを非同期でトリガーする場合にのみサンプルをフィードし、サンプルがフィードされるとすぐにMETransformHaveOutputがトリガーされるかどうかを適切にチェックします。同じ非同期ロジックがNvidiaハードウェアMFTとMicrosoftソフトウェアエンコーダーで正常に動作するとき、これは本当に困惑します。 インテルフォーラム自体にも同様の未解決の質問があります。私のコードは、以下のようにエンコーダーにd3dデバイスマネージャーも設定しているという事実を除いて、インテルスレッドで言及されているものに似ています。 また、他に3つのスタックオーバーフロースレッドがあり、ソリューションが提供されていない同様の問題を報告しています(MFTransformエンコーダー-> ProcessInputがE_FAILを返します& Intel MFTエンコーダーのD11テクスチャからIMFSampleを作成する方法&非同期MFTがMFTransformHaveOutputイベントを送信していません(インテルハードウェアMJPEGデコーダーMFT))。私はこれを改善することなく、可能なすべてのオプションを試しました。 色変換コードは、インテルメディアSDKサンプルから取得されます。ここに私の完全なコードもアップロードしました。 d3dマネージャーを設定する方法: void SetD3dManager() { HRESULT hr = S_OK; if (!deviceManager) { // Create device manager hr = MFCreateDXGIDeviceManager(&resetToken, &deviceManager); } if (SUCCEEDED(hr)) { if (!pD3dDevice) { pD3dDevice = GetDeviceDirect3D(0); } } if (pD3dDevice) { // NOTE: Getting ready for …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.