Я играл с такими глупыми вещами: http://jsfiddle.net/dp5rvd91/5/Являются ли divs более дорогостоящими, чем холсты?
Где я использую динамически созданные divs для создания изображений.
for (var i = 0; i< its; i++){
var size = i;
var angle = dAngle * i;
var o = Math.sin(angle) * range;
var a = Math.cos(angle) * range;
var left = cx - a + i;
var top = cy - o+ i;
var c = myservice.rgbToHex(i, i*2,i);
var style = "".concat ("position: absolute; left:", left, "px; top:", top, "px; width: ", i, "px; height: ", i, "px; background-color: ", c, ";");
console.log(style);
$scope.divs.push(style);
}
<!-- HTML-->
<div ng-repeat = "d in divs" style = "{{d}}"/>
Просто интересно - это вычислительно неэффективно, по сравнению с сказать, используя холст HTML5?
В большинстве случаев холст, скорее всего, будет быстрее, поскольку это всего лишь битмап данных, а это означает, что в DOM на самом деле нет «n» элементов, поскольку вы по существу просто рисуете поверх него. Конечно, разница была бы незначительной, если бы у вас было только 100 или около того элементов, но если у вас есть тысячи элементов, я бы определенно подумал об использовании холста. –
Дать идентичные расчеты позиционирования, создание и управление DOM более «дорого», чем манипулирование пикселями холста. – markE