Показать сообщение отдельно
  #6 (permalink)  
Старый 15.12.2011, 10:01
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

Нашел одно узкое место в своем скрипте по созданию объекта и его позиционирование на экране

function createShellWindow(width,height,text){
var frame = document.createElement('div');
    frame.className = 'framer';
    frame.style.width = width + 'px';
    frame.style.height = height + 'px';
var header = document.createElement('div');
    header.className = 'header';
    header.onmousedown = function(){ moveObject(event,this.parentNode); }
var title = document.createElement('div');
    title.className = 'title-window';
    title.innerText = text;
    header.appendChild(title);
    frame.appendChild(header);
var close = document.createElement('span');
    close.className = 'button';
    close.innerText = 'x';
    close.onclick = function(){ document.body.removeChild(frame); }
    frame.appendChild(close);
var body = document.createElement('div');
    body.className = 'bodyer';
     body.style.width = (width - 6) + 'px';
     body.style.height = (height - 24) + 'px';
    frame.appendChild(body);
document.body.appendChild(frame);

// позиционируем объект по середине экрана

 pw=window.innerWidth;
 ph=window.innerHeight;
 ew=frame.clientWidth;
 eh=frame.clientHeight;
 frame.style.top=Math.floor(ph/2)-(eh/2)+'px';
 frame.style.left=Math.floor(pw/2)-(ew/2)+'px';
};


Так вот если убрать позиционирование объекта из функции и потом быстро перемещать этот объект по экрану то нагрузка на процессор падает порядком на 10-15% по сравнению с теми действиями при включенном позиционирование... не ужели при перемещения объекта этот код тоже все время отрабатывается?

PS. Понял в чем дело...это не из за позиционирование вовсе, так происходит когда передвигаемый объект попадает на участки другого объекта оказывается.

Последний раз редактировалось simple, 15.12.2011 в 10:21.
Ответить с цитированием