v8对我来说太慢了

时间:2010-06-06 17:17:40

标签: v8 jit

我正在为libvisual开发音乐可视化插件。这是一个AVS克隆 - AVS来自Winamp。现在我有一个超级作用插件。该元素有4个脚本,每个像素都运行“point”。你可以想象它必须相当快。最初的libvisual avs clone有一个非常快的JIT编译器,但它有一些bug并没有完全实现,所以我决定尝试v8。好吧,v8在每个像素上运行编译的脚本太慢了。是否还有其他脚本引擎可以用于此目的?

2 个答案:

答案 0 :(得分:2)

如果您是在每个像素级别运行您的更新,我会建议有屏幕的屏幕外的内存中表示,并更新屏幕作为一个整体,而不是每个像素。我知道这通常是位图更新的常见问题,而不是V8本身。我对你正在工作的具体环境了解不多,只是正如我所说,尝试一次一个地更新单个像素对UI画布是一个常见的性能问题。如果你可以对你的画布/ ui表面进行离线/屏幕外表示,那么一次更新它,你的表现会好很多。

此外,还会对您的事件模型的制定方式有所依赖。如果这不能很好地工作,您可能需要将此逻辑带入已编译的COM对象或其他内容,但在每像素更新方案中,尝试执行每像素更新时会遇到类似问题。不是说你是,只是再次注意到这是这类问题最常见的问题。

答案 1 :(得分:1)

听起来你需要使用本机代码,或者可能是Java Applet(不是我建议使用Java Applet,只有在你完全控制客户端环境时才使用它)。