Перерисовывать холст или перемещать его?

Мне нужно нарисовать линию, которая движется слева направо по экрану. В настоящее время я просто вызываю .clearRect() каждый раз и рисую снова, на 1 пиксель дальше. Однако другой возможностью было бы нарисовать холст один раз и переместить его позицию CSS по экрану.

Какой сценарий предпочтительнее для производительности и почему?


person Muis    schedule 22.05.2013    source источник
comment
Как всегда, убедитесь, что вы проверили свои собственные тесты производительности, но css, вероятно, будет быстрее. См. это сравнение: stackoverflow.com/questions/4842872/   -  person markE    schedule 23.05.2013


Ответы (1)


Перемещение или «трансформация» всегда происходит намного быстрее.

Вы на правильном пути, но это уже встроено в Canvas. Вот ссылка на то, как это сделать:

Учебное пособие по преобразованию холста

Преобразование холста

person Captain Skyhawk    schedule 22.05.2013
comment
Я думаю, что ОП говорит о перемещении с помощью CSS, а не о преобразованиях холста;) - person markE; 23.05.2013
comment
Аааа, мне уже интересно, что он делает :) - person Captain Skyhawk; 23.05.2013