2

非常に単純な静的テスト ページがあります。

<body>
<video autoplay loop>
  <source src='ng_full.mp4' />
</video>
</body>

node-webkit (バージョン 0.6.3 から 0.7.5 でテスト済み) で開くと、chrome 0.29.xx および chrome 0.31 と比較して、chrome の ffmpegsumo と比較して 2 倍の CPU 負荷がかかります。また、ビデオがぎくしゃくすることなく、Chromeで約8コピーのページを実行するのに対し、nw.exeで4コピーを実行できます。nVidia GF9500GT および Intel HD 4600 を搭載した Intel i5 第 1 世代および第 3 世代でそれぞれテスト済み。これは、DXVA を使用する場合と使用しない場合の MPC-HC で同じビデオを表示する場合の CPU 負荷とも相関します。

私の結論から言うと、ハードウェア ビデオ デコード アクセラレーションは node-webkit では機能しません。

1 台のマシンでできるだけ多くの同時ビデオを再生する必要があり、GPU デコードは CPU デコードの 2 倍のストリームを提供します。

node-webkit github ページのビルドを使用していました。適切なスイッチを使用したカスタムビルドが役立つでしょうか? または、デフォルトのビルドで HW デコードを強制することは可能ですか?

4

1 に答える 1

2

css シェーダーまたは webgl を追加してみてください。自動的に合成の高速化が強制されます。これにより、ビデオ (ffmpeg) なのか、それとも実際に GPU/chrome レンダリング エンジンなのかがわかります。

--forced-compositing-mode を使用して、package.json 内の chromium 引数に高速化された合成を強制して、影響があるかどうかを確認することもできます。

私の直感では、ffmpeg を使用して CPU に依存している間、chrome.exe は特定のハードウェア アクセラレーションを備えた他のライセンスされた (ただしオープン ソースではない) デコーダーを使用する可能性があります。

于 2013-09-29T01:59:14.623 に答える