Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 299

/ вопрос открыт /

Вопрос по стандартному Таймеру Delphi-7
Здравствуйте уважаемые эксперты. Много лет назад замечал такую штуку, что интервалы в стандартном таймере делфей на разных компьютерах считались по разному. На быстрых компах все летало, на тормозявчиках все было медленней.
Интересно это щас все исправилось? Скачал Делфи-7 с торрентов, пишут что дескать самая последняя версия и все такое, а компоненты вообще обновляются? Или не использовать стандартные таймеры?

Александр Думов Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Александр Думов (статус: Посетитель)
Вопрос отправлен: 2 ноября 2012, 19:48
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 4 ноября 2012, 22:21; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 2 ноября 2012, 21:53 [#1]:

Стандартный таймер имеет уровень квантования. На современных компьютерах это порядка 15 мс. На некоторых серверных платформах это может быть до 110 мс (на очень специфичных настройках).

Поэтому, выставляя таймер на 10 мс, такую скорость не получите никогда - таймер будет работать так быстро, как сможет.

А теперь другая ситуация - пусть таймер настроен на 100 мс, а сама процедура, которая исполняется - занимает 200 мс. Поэкспериментируйте:)

Но по этой причине, на медленных компьютерах все так плохо.

Цитата:

Скачал Делфи-7 с торрентов, пишут что дескать самая последняя версия Скачал Делфи-7 с торрентов, пишут что дескать самая последняя версия
- мало что на торрентах пишут - 2002 года:) - десятилетней давности. А что там обновлять... по мелочам можно, но глобально - вряд ли.
Галочка "подтверждения прочтения" - вселенское зло.
DNK

DNK (статус: Студент), 3 ноября 2012, 15:03 [#2]:

Цитата:

Много лет назад замечал такую штуку, что интервалы в стандартном таймере делфей на разных компьютерах считались по разному. На быстрых компах все летало, на тормозявчиках все было медленней.
Вопрос из разряда почему лыжи не едут - неизвестно по какой поверхности собрались ехать. Любой инструмент имеет определенные особенности и их надо учитывать. Это не обязательно должно означать что инструмент плохой. Просто найденный разработчиками баланс между простотой, надежностью и гибкостью не всех может устраивать.
"Digital Networked Knight"
QWERYTY

QWERYTY (статус: Посетитель), 4 ноября 2012, 22:08 [#3]:

Да, лучше не использовать стандартный таймер.
Присоединяюсь к написанному Вадимом К.
Читал про это у Русиновича и на сайте IBM.
Там подробно описывают работу диспетчера ядра, про кванты для разных HAL'ов, про приоритеты процессов и потоков.
Разрабатывал приложение которое должно было создавать события по таймеру. Промежутки были маленькими(от 1-й до 20-ти мс), и таймер давал ужасные результаты.

Самое лучшее что удалось найти в операционке(Win XP) без всяких переделок и примочек - таймер из mmsystem.

Производилась запись в виртуальный COM порт, и аппаратное считывание на осцилограф в другом компе. Этот таймер неплохо работал начиная с 5мс(ну по крайней мере на моём компе).
Программе с таймером при запуске ставился самый высокий приоритет, и в цикле всем остальным(для которых это возможно) самый низкий.

Если в ваших задачах нужна прецизионная точность на маленьких интервалах времени то нужно выбирать специальную операционную систему.
ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН.
QWERYTY

QWERYTY (статус: Посетитель), 4 ноября 2012, 22:21 [#4]:

"Или не использовать стандартные таймеры?"

Я бы лучше сказал не использовать старые IDE
ВЕРИТЬ ВО ВНЕЗЕМНЫЕ ЦИВИЛИЗАЦИИ НЕ ОЗНАЧАЕТ ВЕРИТЬ В ИНОПЛАНЕТЯН.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:51
Выполнено за 0.02 сек.