2013-08-22 2 views
0

, который быстрее (сложные рисунки). fillRect или перепечатать pI-изображение drawImage. при перепечатке 10000 объектов.Холст чистый рисунок vs png image

ctx.fillStyle="#FF0000";//RED COLOR 
ctx.fillRect(0,0,50,50); 

VS

ctx.drawImage(img,10,10); 

ответ

0

drawImage на самом деле быстрее.

Я обновил тестовый случай с 50х50 PNG: http://jsperf.com/canvas-draw-methods

В Firefox это только немного быстрее, но в Chrome разница огромная, с drawImage быть быстрее на порядок.

(Обратите внимание на предыдущую версию теста был дико перекосом, так как PNG, я использовал не был нужного размера. Размер изображения делает большую разницу.)

+0

вау, до 90% быстрее. спасибо – J261

+0

Это ужасный страшный тест. Вы сравниваете рисунок 50 * 50 квадратных с изображением 432 * 505. Конечно, меньший будет быстрее. Вот обновление: http://jsperf.com/canvas-draw-methods/2 (результат тот же, но разница ниже, больше, чем 40%) – david

+0

, то, возможно, пропустите преимущество fillRect, если вам нужно сделать что-то сложное. – J261