Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Перерисовка кадров   Найти похожие ветки 

 
kopcap ©   (2003-12-15 18:14) [0]

Как лучше зделать перерисоку кадров ? Пробовал через Таймер в Делфи
но больше 19Fps неполучяется =(.


 
Mihey ©   (2003-12-15 19:56) [1]

Побачай тут:
http://delphigfx.mastak.ru/2d/001/2d_1.htm


 
Pa5ha   (2003-12-17 17:13) [2]

Используй виртуальный таймер ApplicationEvents. Событие OnIdle.


 
Анонимщик ©   (2003-12-24 13:15) [3]

kopcap ©
А как ты рисовал, что использовал, какие размеры?


 
kopcap ©   (2003-12-24 17:32) [4]

Анонимщик ©
Использовал OpenGL  рисовал простой квадрат


 
Анонимщик ©   (2003-12-24 17:35) [5]

На весь экран?
Сколько байт занимает один экран?


 
kopcap ©   (2003-12-24 17:38) [6]

Да я просто в окне рисовал.
Стока Fps не из за того что я рисовал, просто таймер в Делфи больше 19 раз за секунду не срабатывает. Вот я и спрашиваю чё использовать можно место таймерв


 
Анонимщик ©   (2003-12-24 18:15) [7]

А, понял. Все дело в том, что таймер работает по тикам генератора, его частота какая-то там, не помню, но большая, и эта частота делится на значение, которое берется из не помню какого порта (по умолчанию оно 65535). Если это значение сделать меньшим, то и частота тиков увеличится. Под 2000 этого не сделаешь так просто. Тебе, видимо, нужно использовать соответствующий таймер какой-то. Посмотри на torry.net, например:
http://torry.net/timers.htm


 
Zeqfreed   (2004-01-02 19:05) [8]

procedure Drawing();
var
NTC,LTC : DWORD;
begin
while true do
 begin
  NTC := GetTickCount;
  if NTC - LTC > 50 then
   begin
    //Рисуем тут;
    LTC := NTC;
   end;
 end;
end;


 
Сергей А   (2004-01-09 08:13) [9]

uses  MMSystem; // Таймер - мультимедийный

В классе задаешь
 private
   ...
   TimerId : uint;  // идентификатор таймера
 protected
  ...
end;

Инициализация таймера (например - при создании формы):
procedure TfrmGL.FormCreate(Sender: TObject);
begin
...
TimerID := timeSetEvent (2{!!!}, 0, @TimeProc, 0,TIME_PERIODIC);
{ Здесь периодичность - 2 мс}
end;

Проседура обработки тика:
procedure TimeProc(uTimerID, uMessage: UINT;dwUser, dw1, dw2: DWORD) stdcall;
begin
With frmGL do begin
     ...
     InvalidateRect(Handle, nil, False);
end;
end;


 
Intell ©   (2004-01-09 15:14) [10]

У меня есть компонент высокоточного таймера.



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
1-1080341683
ceval
2004-03-27 01:54
2004.04.18
Подскажите как программно в RadioGroup написать название


4-1076302452
r9000
2004-02-09 07:54
2004.04.18
Управление другой программой


4-1076307416
Ricko
2004-02-09 09:16
2004.04.18
Правильная выгрузка DLL


7-1076497137
Terry
2004-02-11 13:58
2004.04.18
Определение точки монтирования диска по имени устройства


14-1080316094
Vovchik_A
2004-03-26 18:48
2004.04.18
Я плалкалъ