Главная страница
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.031 c
3-1079606356
SnapIn
2004-03-18 13:39
2004.04.18
Как увидеть данные из .ORA


3-1079610906
ikondakov
2004-03-18 14:55
2004.04.18
Частичная автоматизация.


14-1080076271
Andy BitOff
2004-03-24 00:11
2004.04.18
На банерах кликать надо?


1-1080419844
Mishenka
2004-03-27 23:37
2004.04.18
Поиск каталогов


14-1080321864
Kor@l
2004-03-26 20:24
2004.04.18
Socket