| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > В реальном времени график |
| Автор: PILOT 19.10.2005, 23:31 |
| В общем есть такая задача: нужно в реальном масштабе рисовать график где по горизонтальной оси откладывается время (собственно 1сек, 2 сек, 3 сек и т.д.). Паралельно приходят значения через СОМ-порт, которые нужно отображать (гдето каждые 300мс). Т.е. есть и исходные данные, и смысл всего ясен, но не получается синхронизироваться с "реальным" временем (появление надписи очередной секунды запаздывает), перерисовка графиков почти не ест ресурсов. Использую TTimer. Знаю, что у этого события самый низкий приоритет, но ничего другого в голову не лезет. Пробовал другие компоненты - эффект тот же. В общем есть проблема синхронизации с часами. Вот если дважды нажимаем на пиктограмму системных часов в панели инструментов виндовс и вызываем окошко с "аналоговыми" часами (циферблат) то задача сводиться к рисованию "штрихов" кончиком секундной стрелки через каждую секунду, причем нужно чтобы при этом стрелка передвигалась плавно (а не каждую секунду). СУв. |
| Автор: _hunter 20.10.2005, 14:21 |
| хрен с ним, с таймером. пускаем поток в котором крутится цикл, который вычисляет разницу между последним срабатыванием и текущим временем. если она больше заданной ( для плавности можно установить интервал в 0.1 сек ) -- вызываем функцию отрисовки и запоминаем этот момент ( точнее наоборот ) |