v8 слишком медленный для моей цели - PullRequest
0 голосов
/ 06 июня 2010

Я работаю над плагином визуализации музыки для libvisual. Это клон AVS - AVS из Winamp. Прямо сейчас у меня есть плагин суперобласти. Этот элемент имеет 4 сценария, и «точка» запускается на каждом пикселе. Вы можете себе представить, что это должно быть довольно быстро. В оригинальном клоне libvisual avs был JIT-компилятор, который был очень быстрым, но он имел некоторые ошибки и не был полностью реализован, поэтому я решил попробовать v8. Что ж, v8 слишком медленно запускает скомпилированный скрипт на каждом пикселе. Есть ли другой скрипт-движок, который был бы довольно быстрым для этой цели?

Ответы [ 2 ]

2 голосов
/ 06 июня 2010

Если вы запускаете свои обновления на уровне каждого пикселя, я бы предложил иметь экранное представление экрана в памяти и обновлять экран целиком, а не каждый отдельный пиксель. Я знаю, что это общая проблема для обновлений растрового изображения в целом, а не V8 как таковая. Я не знаю достаточно о конкретной среде, в которой вы работаете, чтобы оказать большую помощь, только то, что, как я уже сказал, это общая проблема производительности - пытаться обновлять отдельные пиксели для холста пользовательского интерфейса по одному. Если вы можете сделать офлайн / закадровое представление вашей поверхности canvas / ui, то обновите все сразу, ваша производительность будет намного лучше.

Кроме того, будут некоторые зависимости от того, как разрабатывается ваша модель событий. Если это не работает должным образом, вам может потребоваться перенести эту логику в скомпилированный COM-объект или что-то в этом роде, но в схеме обновления для каждого пикселя у вас будут похожие проблемы при попытке выполнить обновление для каждого пикселя. Не сказать, что ты, просто снова заметить, что это самая распространенная проблема с этим типом проблемы.

1 голос
/ 06 июня 2010

звучит так, как будто вам нужно использовать собственный код или, возможно, Java-апплет (не то, чтобы я рекомендовал Java-апплет, используйте его, только если вы полностью контролируете клиентскую среду).

...