Текущий архив: 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.46 MB
Время: 0.039 c