Скрипт в целом и так довольно эффективный. Но увы, тормозит.
Лучший вариант решения - не добавлять вообще обьекты снежинок и не двигать их по экрану. Сделать 20 контейнеров размером с весь экран. Каждый контейнер - 1 снежинка. Снежинку рисовать путём background и background-position. Правда не уверен можно-ли сделать чтобы нажатия на дивы мышкой они игнорировали пропуская под себя. Фишка в том, что при каждом движении снежинки - брузер перерендеривает почти всю страницу проверяя на какие элементы теперь эта снежинка может повлиять. Если-же просто сдвигать background-position - cкорость рендеринга ОЧЕНЬ ускорится т.к. будет перерисовываться только 1 див, на остальные ему плевать. Плюс, нету смысла дивы удалять. Когда снежинка доходит до низу - создавать её в том-же диве но сверху.
|