Сначала я больше уделил внимания на анализ производительности именно при движении. Использовал плагин dynaTrace. Там нашел пару моментов, которые можно было оптимизировать.
Например, для определения состояния и координат мыши использовалась дополнительная кроссбраузерная функция навеянная примером из одной статьи на этом сайте. Так вот, обнаружилось, что лучше ее не использовать, потому что происходило нерациональное обращение к DOM. А это занимает, пусть и небольшое, но время. На каждое обращение к любому свойству события от мыши мы лезем в DOM. Поэтому количество этих обращений надо минимизировать. Плюс сам вызов дополнительной функции занимает какое-то время. В итоге, скорость исполнения именно этого кусочка значительно выросла.
Потом одолжил у соседа древний заброшенный и запыленный годами ноутбук со 128ОЗУ, на котором голая винда еле дышит, и увидел, что все эти телодвижения на него практически не повлияли.
Сделал тестовую страницу, на которой просто двигал свое окно.
Уменьшал количество элементов, упрощал css и т.д. и т.п.. Ничего не помогало. Даже один прямоугольник делал слайд шоу.
Убрал прозрачность и тени - стало чуть быстрее, но все равно тормоза жуткие были. Потом убрал фон и, оппа, побежало! Ставлю фон назад - тормоза. Дело в том, что фон нестандартный из css был, а растягивающийся фон с хитростями.
Убрал эту фишку и поставил обыкновенный фон. Бежит нормально.
Вернул прозрачность - включились тормоза, хотя на быстрых компах это не влияет. Поэтому до поры до времени решил отказаться.
К тому же vflash подсказывает, что можно вообще фрейм не прятать, надо будет попробовать. На весь экран растянуть прозрачный блок вроде хорошая идея, только боюсь, что все-таки iframe будет перехватывать это событие через прозрачный блок. Кстати, vflash, прозрачный блок - это закрашенный блок с opacity или блок без бэкграунда?
В общем, всем принимающим участие в топике БОЛЬШОЕ спасибо, каждый из вас дал мне пищу для размышлений и благодаря этому я уже вижу, что можно еще некоторые вещи оптимизировать. Каждому повышаю карму.
Последний раз редактировалось limonad, 17.02.2010 в 10:30.
|