0

libvisual の音楽視覚化プラグインに取り組んでいます。これは AVS クローンです。AVS は Winamp からのものです。現在、スーパースコーププラグインがあります。この要素には 4 つのスクリプトがあり、「ポイント」はすべてのピクセルで実行されます。かなり高速でなければならないことが想像できます。オリジナルの libvisual avs クローンには、非常に高速な JIT コンパイラが含まれていましたが、いくつかのバグがあり、完全には実装されていなかったため、v8 を試すことにしました。v8 では、コンパイルされたスクリプトをすべてのピクセルで実行するのが遅すぎます。この目的で非常に高速なスクリプト エンジンは他にありますか?

4

2 に答える 2

2

ピクセルごとのレベルで更新を実行している場合は、画面のメモリ内表現をオフスクリーンにし、個々のピクセルではなく画面全体を更新することをお勧めします。これは、V8 自体ではなく、一般的なビットマップ更新の一般的な問題であることを知っています。私が言ったように、UI キャンバスに対して個々のピクセルを一度に 1 つずつ更新しようとするのは一般的なパフォーマンスの問題です。キャンバス/UI サーフェスのオフライン/オフスクリーン表現を実行してから、一度にすべてを更新できる場合、パフォーマンスは大幅に向上します。

また、イベント モデルがどのように機能するかについては、いくつかの依存関係があります。これがうまくいかない場合は、このロジックをコンパイル済みの COM オブジェクトなどに組み込む必要があるかもしれませんが、ピクセルごとの更新スキームでは、ピクセルごとの更新を行おうとすると同様の問題が発生します。あなたがそうであるとは言いませんが、これはこの種の問題で最も一般的な問題です。

于 2010-06-06T17:46:00.560 に答える
1

ネイティブ コードまたは Java アプレットを使用する必要があるようです (Java アプレットはお勧めしません。クライアント環境を完全に制御できる場合にのみ使用してください)。

于 2010-06-06T17:20:02.730 に答える