Показать сообщение отдельно
  #1 (permalink)  
Старый 24.11.2010, 21:32
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

setTimeout + перегруженый процессор = ???
да, я опят что-то тут пишу)) вот в чём проблема, у меня есть готовый скрипт(он есть ну я вам тут всё буду так писать, вы фантазируйтеD)
в котором есть рекурсия таймера, то бишь всеми любимая анимация, она работает себе спокойно, но мне вдруг надо остановить анимацию, замедлять! то бишь делать ещё одну рекурсию которая будет рекурсировать и замедлять первую(увеличивать просто её время вызова), но! через время когда она замедлиться надо будет остановить анимацию вообще, но не просто остановить на каком-то действии(например оно двигается и останавливаться) а чтобы оно остановилось в определённых условиях(например какой-то объект достигает своего апогей и снова начинает анимировать, и чтобы сначала он замедлялся, а потом уже остановился полностью когда конца достигнет апогея опять) но проблема в том, что как нам его остановить, на нужной нам точке, при том что он ещё двигаться. Мы узнаем его скорость и узнаем количество шагов анимации которые нужны для окончания этого апогея и просто ставим удаления таймера через время которое мы узнаем из ШАГИ(до конца апогея)*СКОРОСТЬ(которая понизилась до минимальной), теперь через данное время анимация доходит до конца, и сразу же останавливается, всё это работает, но проблема в том что когда процесор забит, когда ты открыл куча приложений, когда это происходит и ты мышку водишь со скоростью света)) то процессор не успевает за заданное время выполнять анимацию, и тогда!! тот таймер выключит первую анимацию через точное время, например 700мс, а на самом деле за 700 мс, анимация не дошла до своего апогея так как процессор забил на неё, потому что его пиляет пользователь своим бешенством! в итоге анимация закрывается, на каком-то корявом месте, вопрос в том как выполнить процесс медленной остановки анимации(рекурсивного таймера) чтобы при это анимация остановилась на определённом, нужном нам шаге?? просто я могу кинуть код этой системы, с примером, если конечно надо будет, но эта проблема меня очень сильно бесит так как в ХРОМЕ из-за его вкладок на которые выделен отдельный процесс всё работает зачётно, а в Опере которая у меня загружена 50 вкладками работает не правильно, я уже молчу как оно лагает на мое андроиде..))
Ответить с цитированием