2010-06-06 52 views
0

我正在爲libvisual製作音樂可視化插件。這是一個AVS克隆 - 來自Winamp的AVS。現在我有一個超級插件插件。該元素有4個腳本,並且每個像素都運行「點」。你可以想象它必須相當快。原始的libvisual avs克隆有一個非常快的JIT編譯器,但它有一些bug並沒有完全實現,所以我決定嘗試v8。那麼,v8在每個像素上運行編譯腳本的速度太慢。有沒有其他的腳本引擎可以很快達到這個目的?v8對於我的目的太慢了

回答

2

如果您運行的基於每個像素級別的更新,我會建議有屏幕的屏幕外的內存中表示,並更新屏幕作爲一個整體,而不是每個像素。我知道這是一般位圖更新的常見問題,而不是V8本身。我不太瞭解你所工作的特定環境是否有很大幫助,但正如我所說的,嘗試逐個更新各個像素對應一個UI畫布是一個常見的性能問題。如果您可以對canvas/UI表面進行離線/離線表示,然後一次更新它,您的表現將會更好。

此外,您的事件模型如何制定出來會有一些依賴關係。如果這樣做效果不好,您可能需要將此邏輯放入已編譯的COM對象中,但在每像素更新方案中,嘗試執行每像素更新時會遇到類似的問題。不是說你是,只是再次注意到這是這類問題最常見的問題。

1

聽起來像您需要使用本機代碼,或者可能是Java Applet(並非我推薦Java Applet,只有在您完全控制客戶端環境時才使用它)。

+1

或者silverlight/moonlight腳本。 – liori 2010-06-06 17:28:23