Я использую процедуру delay( ); для задержки выполнения программы. Но часто бывает, что на разных компах она работает поразному, т. е. где-то задержка больше, где-то меньше.
А почему так бывает? И можно ли сделать так чтоб процедура работала одинаково на всех компах? _________________ Under the sky of dust. |
смотря в каких единицах ты её используешь. если в милисекундах, то обломись. _________________ Ин дер гросен фамилие нихт клювен клац-клац |
Да, в милисек. использую... хм...
А из-за чего же всётаки на нескольких компах по разному? _________________ Under the sky of dust. |
В тиках он считает, поэтому и результат отличный, особенно при эмуляции доса. Да еще и ошибка была в одной из версий. Попробуйте так:
|
vojager писал(а): А из-за чего же всётаки на нескольких компах по разному?_________________ Ин дер гросен фамилие нихт клювен клац-клац |
vojager писал(а): Я использую процедуру delay( ); для задержки выполнения программы. Но часто бывает, что на разных компах она работает поразному, т. е. где-то задержка больше, где-то меньше.
А почему так бывает? И можно ли сделать так чтоб процедура работала одинаково на всех компах? Ответ очень прост.... Просто delay(); для задержки использует в качестве единиц не милисекунды а процессорные циклы, он забивает несколько циклов для себя и поэтому выполняется задержка, но так как на каждом проце скорость выполнения цикла различна то ответ очевиден))) Приведу простой пример... На домашнем компе я поставил задержку в 1000 у меня это примерно секунда, а когда принес в пед то просто устал ждать выполнения этой задержки так как дома у меня пенёк на 3ггц а в педе целерон на 1,8... _________________ Мы рождены чтоб сказку сделать кодом... |
цыклы там....
timeGetTime(); а паскаль выкинь |
timeGetTime() звучит сильно! |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы |