Последние записи
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
31st
Май
Скорость движения объекта
Posted by maloy under Delphi, Архив
Shepelin
Приветствую. Такая проблема в Delphi с помошью OpenGL нарисовал обьект, его движение выполняется на событие таймера(за интервал на определенную длинну), конечно при минимальном интервале движение быстрое, НО нужно еще увеличить скорость только не за счет увеличения длинны сдвига. Может можно как то таймер переработать? Или еще что нибудь? Вобщем прошу совета…
Спасибо.
mutabor
Сдерживающий фактор — частота обновления монитора. Поэтому не нужно боятся увеличивать шаг, конечный результат будет тот же.
Пояснение насчет частоты монитора:
Как бы часто ты не менял положение объекта, на экране это все отображается с частотой к примеру 75 герц. Это 75 раз в секунду. Можно двигать объект на одну точку хоть 1000 раз в секунду, но на экране изменение отобразится когда объект переместится примерно на 13 точек. Так что можно смело ставить интервал 10 мс, и шаг 10 точек.
То же касается высоких fps. Все что выше 75 остается «за кадром».
В любом случае скорость увеличь и будет быстрее двигаться.
А вывод графики можно из таймера убрать. В таймере только изменять координаты, а выводить по Application.Idle, получишь максимальный fps, а логика по таймеру будет
Код:
procedure TForm1.ApplicationEvents1Idle(Sender: TObject;
var Done: Boolean);
begin
//здесь код вывода графики
Done:=False;
end;
тема на форуме от 2008 года
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)