Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.059 c
7-1076770080
MadGhost
2004-02-14 17:48
2004.04.18
Monitoring Communications Events


4-1075488257
stainer
2004-01-30 21:44
2004.04.18
loadbitmap не пашет!


4-1076593411
_r00t_
2004-02-12 16:43
2004.04.18
Как отследить какой именно файл изменился в директории?


1-1080885974
V-Isa
2004-04-02 10:06
2004.04.18
Изменить свойство "чужого" компонента.


14-1080308521
DCoder
2004-03-26 16:42
2004.04.18
Требования к программистам (юмор)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский