Здравствуйте!
Короче, у меня такая проблема. Есть игра типа спортивный менеджер, там есть такая анимация с перемещением Label при броске и т.д. Для задержки исп. Sleep и DoEvents.
На Windows 98 игра идет нормально, ровно, гладко – претензий нет.
На Windows XP игра идет какими-то рваными кусками. Иногда, в некоторый момент скорость анимации нормальная и соответствует уровню Windows98, но уже через пару минут этот же самый цикл замедляется раз в пять и метка начинает вся дергаться, кривляться, вообщем, ведет себя крайне невоспитано:).
Я пробовал убирать DoEvents, но эффект тот же. Пробовал вместо Sleep ставить пустой цикл, но эффект тот же.
Я так почитал тут форум, понял, что это происходит из-за «глубоких различий в архитектуре между Windows 98 и Windows XP». Понятно. Ну а что мне тогда делать? Как вообще оформить такой алгоритм с плавным перемещением группы Label, Picture и т.п. объектов по экрану для создания примитивной анимации, чтобы все это шло ровно, а не с какими-то непонятными рваными кусками? И вообще, из-за чего этот темп в Windows XP сбивается? Какие-то другие процессы что ли в Win XP периодически параллельно запускаются, меняя приоритет программы, или еще что?
И вообще, как-нибудь можно решить такую проблему с плавными задержками?
P.S. Переход на C++ не предлагать.