Провел небольшой эксперимент по скорости. Может кому будет интересно. Запускал следующий код:
window.onload = function () {
var maxRect = 50;
var maxS = maxRect * 10;
var maxR = maxS;
var div = document.getElementById("svg");
// window.console.dir(div);
div.style.width = maxR+"px";
div.style.height = maxR+"px";
var paper = Raphael(div,maxS,maxS);
//
var dR = maxR / maxRect;
var colors = ["red","blue"];
var tStart = new Date();
for(var x=0;x<maxR;x+=dR)
for(var y=0;y<maxR;y+=dR)
{
(function() {
var color = colors[ ((x+y)/dR)%2 ];
var r = paper.rect(x,y,dR,dR);
r.attr({
fill : color
});
//*
r.node.onmouseover = function() {
r.attr({fill: "#ff0"});
};
r.node.onmouseout = function() {
r.attr({fill: color});
};
})();
//*/
}
var tEnd = new Date();
alert((tEnd-tStart)/1000);
При количестве прямоугольников = 100x100 = 10.000- FF 3.5.1: 6 секунд
- IE8: 116 секунд
- Opera Portable 9.52: 4 секунды
При количестве прямоугольников = 50x50 = 2500- FF 3.5.1: 1 секунда
- IE8: 10 секунд
- Opera Portable 9.52: 1 секунда
В опере при выводе сообщения о времени исполнения сами прямоугольники ещё не отрисовываются. Отрисовка происходит через 2-3 секунды после закрытия окна со временем исполнения.
После отрисовки для определения скорости работы водил мышкой по прямоугольникам. Как можно заметить из кода, прямоугольник, на котором находится курсор мыши окрашивается в зеленый цвет.
По этому тесту результаты следующие:
- FF - активный прямоугольник (АП) во время движения почти всегда находится под курсором
- Opera - АК отстает от курсора. Однако всё-таки повторяет его движения
- IE - АК периодически останавливается на месте, пропуская часть траектории
Выводы: Не пользуйтесь IE