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)

Ilyan 22.03.2010 16:15

Ускорение onmousemove и редеринга
 
Делаю веб-редактор изображений
http://graphing.ru/d.php?i=none.jpg

Вот если бы кисть оставляла за собой не зернистый след, если быстро вести мышкой - цены бы ему не было. Особенно зернистость проявляется в FF.

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

var child = document.createElement('div');
child.style.position = 'absolute';
child.style.left = x+'px';
child.style.top = y+'px';
document.getElementById('content').appendChild(child);
//и т.д.

Без особой надежды на ответ, но все же спрошу. Можно ли что-то придумать, чтобы облегчить браузеру процесс редеринга точек? Пробовал методом тыка, ожидая "а вдруг": заменить див на span, p и другие теги, создавать новый див посредством innerHTML (в последнем случае все только усугубилось).

subzey 22.03.2010 18:03

Эмм… почитайте про html 5 canvas.

Ilyan 22.03.2010 18:44

Цитата:

Сообщение от subzey (Сообщение 48622)
Эмм… почитайте про html 5 canvas.

Вектором точечные рисунки?

Kolyaj 22.03.2010 18:50

Канвас не вектор.

Ilyan 22.03.2010 18:58

Цитата:

Сообщение от Kolyaj (Сообщение 48636)
Канвас не вектор.

Я думал, для векторной графики. Тоесть закрашенные области он будет вставлять быстрее, чем браузер добавляет dom элемент?

Kolyaj 22.03.2010 18:59

Не знаю, не тестил. А как это связано?

Ilyan 22.03.2010 19:01

Связано с чем?

subzey 22.03.2010 19:52

Ilyan,
в десятки раз быстрее. Ну, и, плюс, субпиксельный рендер.

Ilyan 22.03.2010 19:59

Цитата:

Сообщение от subzey (Сообщение 48644)
Ilyan,
в десятки раз быстрее. Ну, и, плюс, субпиксельный рендер.

Спасибо, буду эксперементировать.

Ilyan 22.03.2010 21:26

Цитата:

Сообщение от subzey (Сообщение 48644)
Ilyan,
в десятки раз быстрее. Ну, и, плюс, субпиксельный рендер.

Проверил, увы, еще медленнее отрисовывает точки по onmousemove. Использвал http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm


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