Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Ускорение onmousemove и редеринга (https://javascript.ru/forum/events/8375-uskorenie-onmousemove-i-rederinga.html)

Gvozd 22.03.2010 21:36

Цитата:

Сообщение от Ilyan
Можно ли что-то придумать, чтобы облегчить браузеру процесс редеринга точек?

а не в нем проблема-то.
выведите в консоль фаербага координаты мыши по onmousemove, не трогая DOM и будете неприятно удивлены, при быстром движении мышью.
так что единственный способ убрать зернистость-интерполировать движение мыши.
самым простым вариантом будет линейная интерполяция между двумя последними точками.
когда вам надо будет рисовать плавные линии, то тут уже что-то посложнее придется использовать, например кубические сплайны

Ilyan 22.03.2010 21:39

Цитата:

Сообщение от Gvozd (Сообщение 48668)
а не в нем проблема-то.
выведите в консоль фаербага координаты мыши по onmousemove, не трогая DOM и будете неприятно удивлены, при быстром движении мышью.
так что единственный способ убрать зернистость-интерполировать движение мыши.
самым простым вариантом будет линейная интерполяция между двумя последними точками.
когда вам надо будет рисовать плавные линии, то тут уже что-то посложнее придется использовать, например кубические сплайны

Понял, спасибо.

subzey 22.03.2010 23:40

Странно. На канвасе даже псевдо-трехмерные игры делают с приличним fps. Сотню точек в секунду на середнячковой машине он точно выдерживает. Проверьте, не тормозит ли обвертка для всего этого.

PepeL 23.03.2010 02:16

Цитата:

Использвал http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm
Это вроде не canvas.

Nekromancer 23.03.2010 11:32

cloneNode работает быстрее чем createElement

Ilyan 23.03.2010 16:49

Всем спасибо за ответы, сделал по совету Gvozd, соединением линиями. Зернистость пропала. http://graphing.ru/d.php?i=none.jpg

Осталось только с ие подружить.


Часовой пояс GMT +3, время: 02:40.