Главная страница
    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.46 MB
Время: 0.034 c
11-1062275252
Serega123
2003-08-31 00:27
2004.04.18
Как можно убрать кнопку с панели задач?


4-1075999379
Arsen
2004-02-05 19:42
2004.04.18
Окончание загрузки программы


6-1075652604
Александр
2004-02-01 19:23
2004.04.18
Как отправить письмо?????????????


7-1076337539
Makhanev A.S.
2004-02-09 17:38
2004.04.18
Как получить название приложения?


14-1080040871
Igorek
2004-03-23 14:21
2004.04.18
Поможем сайту или "Собираем комманду кодеров (295 серия)"!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский