Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #81 (permalink)  
Старый 16.02.2010, 21:26
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

Кое-что еще подкрутил. У меня стало быстрее. А как у вас? Дам ссылку еще раз, извините : http://webokna.blogspot.com/
Ответить с цитированием
  #82 (permalink)  
Старый 16.02.2010, 23:03
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

ненадо никакого display:none итд. скорости вполне будет хватать.
перед началом перемещения нужно на весь экран растянуть прозрачный блок. это сразу решит некоторые проблемы: перемещением курсора над iframe, flash итд. через негоже можно задавать сursor. в IE будет лучше работать, дергаться перестанет.
Ответить с цитированием
  #83 (permalink)  
Старый 17.02.2010, 00:35
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от limonad
У меня стало быстрее.
Вот это уже другое дело.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #84 (permalink)  
Старый 17.02.2010, 00:48
Аватар для Мараторий
Кандидат Javascript-наук
Отправить личное сообщение для Мараторий Посмотреть профиль Найти все сообщения от Мараторий
 
Регистрация: 22.01.2010
Сообщений: 114

limonad,
А если вернуть прозрачность? Тоже тормоза будут?
Ответить с цитированием
  #85 (permalink)  
Старый 17.02.2010, 10:28
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

Сначала я больше уделил внимания на анализ производительности именно при движении. Использовал плагин dynaTrace. Там нашел пару моментов, которые можно было оптимизировать.

Например, для определения состояния и координат мыши использовалась дополнительная кроссбраузерная функция навеянная примером из одной статьи на этом сайте. Так вот, обнаружилось, что лучше ее не использовать, потому что происходило нерациональное обращение к DOM. А это занимает, пусть и небольшое, но время. На каждое обращение к любому свойству события от мыши мы лезем в DOM. Поэтому количество этих обращений надо минимизировать. Плюс сам вызов дополнительной функции занимает какое-то время. В итоге, скорость исполнения именно этого кусочка значительно выросла.

Потом одолжил у соседа древний заброшенный и запыленный годами ноутбук со 128ОЗУ, на котором голая винда еле дышит, и увидел, что все эти телодвижения на него практически не повлияли.

Сделал тестовую страницу, на которой просто двигал свое окно.
Уменьшал количество элементов, упрощал css и т.д. и т.п.. Ничего не помогало. Даже один прямоугольник делал слайд шоу.

Убрал прозрачность и тени - стало чуть быстрее, но все равно тормоза жуткие были. Потом убрал фон и, оппа, побежало! Ставлю фон назад - тормоза. Дело в том, что фон нестандартный из css был, а растягивающийся фон с хитростями.

Убрал эту фишку и поставил обыкновенный фон. Бежит нормально.
Вернул прозрачность - включились тормоза, хотя на быстрых компах это не влияет. Поэтому до поры до времени решил отказаться.

К тому же vflash подсказывает, что можно вообще фрейм не прятать, надо будет попробовать. На весь экран растянуть прозрачный блок вроде хорошая идея, только боюсь, что все-таки iframe будет перехватывать это событие через прозрачный блок. Кстати, vflash, прозрачный блок - это закрашенный блок с opacity или блок без бэкграунда?

В общем, всем принимающим участие в топике БОЛЬШОЕ спасибо, каждый из вас дал мне пищу для размышлений и благодаря этому я уже вижу, что можно еще некоторые вещи оптимизировать. Каждому повышаю карму.

Последний раз редактировалось limonad, 17.02.2010 в 10:30.
Ответить с цитированием
  #86 (permalink)  
Старый 17.02.2010, 10:37
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от limonad
прозрачный блок - это закрашенный блок с opacity или блок без бэкграунда?
Блок без бэкграунда в ИЕ равнозначен отсутствию блока. Поэтому нужно ставить бэкграунд и делать 100%-ную прозрачность.
Ответить с цитированием
  #87 (permalink)  
Старый 17.02.2010, 11:18
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

в зависимости от браузера
style: "background-color:transparent;position:fixed;left:0px;top:0px; bottom:0px;right:0px;z-index:9999999999;"
+ (rr.IE? "_position:absolute;background-image:url('about:blank');" : ""),

для IE6 размер придется самостоятельно выставлять

я лишил вас годы удовольствия поиска оптимальных решений
Ответить с цитированием
  #88 (permalink)  
Старый 17.02.2010, 12:15
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Ну вот! Стало работать намного быстрее
Ответить с цитированием
  #89 (permalink)  
Старый 18.02.2010, 21:43
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

vflash, спасибо. Попробовал локально, сделал по вашей схеме. Вроде хорошо, но есть неприятный момент. Когда на onmousedown ставим распахнутый div, то в Chrome и Safari срабатывает только он, а ondblclick не работает (например на иконках или на шапке окна). onclick же не работают везде, ну это в принципе можно заменить на тот же onmousedown. Как-то можно решить эту проблему (хотя-бы с ondblclick)?
Ответить с цитированием
  #90 (permalink)  
Старый 22.02.2010, 10:12
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

вопрос решен
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Высота страницы по высоте окна браузера Николян (X)HTML/CSS 4 16.01.2014 20:12
Вывод данных единожды, при открытии окна? Ggorsh Events/DOM/Window 1 28.04.2009 01:04
Реклама по центру окна браузера Макс Элементы интерфейса 2 15.06.2008 00:55
Нужно вызвать функцию из другого окна Destiny Общие вопросы Javascript 6 07.05.2008 01:32
из дочернего окна вызывать методы родителського uzirig Общие вопросы Javascript 6 23.03.2008 12:33