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

Вниз

FPS и потоки   Найти похожие ветки 

 
mrAld ©   (2003-11-29 00:29) [0]

Странно, запуская даже пустое приложение (без загрузки экрана) я получаю максимум 151 fps (OpenGL), тогда как загруженная квака даёт мне под 200. Как там организован игровой поток? Я делаю синхронизацию по мультимедийному таймеру, приложение работает синхронно, но почему так медленно??? И ещё. Добавляю плоские тайлы на сцену с низким качеством текстуры (штук 50, больших и маленьких), и fps падает аж до 30! Это нормально? Если есть какие-то способы рационального отображения, поделитесь плизз. А то фигня какая-то получается!


 
Gandalf ©   (2003-11-29 19:29) [1]

Синхронизацию с обратным ходом луча отключи. В ква нет синхронихации - в играх идет принцип рисуй так быстро, как только можещь.


 
MrAngel   (2003-11-29 22:10) [2]

Синхронизация луча в данном случае не причём. Тут что то другое. Кстати какая карточка ?


 
mrAld ©   (2003-11-30 21:21) [3]

Geforce 2 MX 200 32 mb
Аппаратная поддержка OpenGL, но расширенных функций не знаю, т.к. никогда их не использовал. Как отключить синхронизацию с обратным ходом луча? И как в OpenGL реализуется частичная прорисовка экрана?
ЗЫ: мне бы знать, как правильно организовать игровой поток


 
Sapersky ©   (2003-11-30 23:29) [4]

Я делаю синхронизацию по мультимедийному таймеру

Синхронизацию С ЧЕМ? И зачем? В любом случае, мультимедийный таймер на малых интервалах - порядочный тормоз (в смысле - других тормозит), т.к. выделяет себе поток с максимальным приоритетом. И довольно приличную часть процессорного времени твоя программа тратит не на то, чтобы рисовать что-то, а на высчитывание - когда она должна это делать.

Проще и быстрее крутить всё в основном цикле. Или, в случае VCL, в OnIdle с Done=False.


 
mrAld ©   (2003-12-01 02:27) [5]

Я пробовал OnIDLE. При загруженности сцены и уменьшении fps уменьшается скорость игрового времени. Приложение замедляется, тогда как в реале допускаю лишь тормоза, а не замедление времени. А по скорости что таймер, что Idle - одна }{рень. Мне интересно, как делают знающие люди? И реально API быстрее VCL, или это легенда? Простите за ламерский вопрос, но я долгое время был теоретиком и только сейчас занялся практикой :)


 
hexone ©   (2003-12-01 12:33) [6]

Возьми http://nehe.gamedev.net
lesson01 посмотри как там организован цикл обработки сообщений окна. Так как там - это единственный и неповторимый правильный вариант.


 
Unknown user ©   (2003-12-05 18:48) [7]

2 mrAld. Откажись от дельфовских принципов -таймеров, OnIdle и т. д. -в серъезных OGL приложениях это не используют. Строй программу как это делается в С - при старте запускается функция WinMain, которая представляет собой обработчик всех событий поступающих в главное окно приложения и обрабатывай эти события пока не дождешься WM_QUIT.
А вертивальная синхронизация у тебя все-таки включена. И частота кадров у тебя стоит 150. Я прав. Чтобы отключить зайди в свойствах экрана-дополнительно-GeForce 2...-параметры OGL-верт. синхронизация-всегда выкл.
И про тайлы, скажи точно формат текстур, кол-во полигонов в сцене и какой функцией ты эти текстуры накладываешь.


 
Unknown user ©   (2003-12-05 18:48) [8]

2 mrAld. Откажись от дельфовских принципов -таймеров, OnIdle и т. д. -в серъезных OGL приложениях это не используют. Строй программу как это делается в С - при старте запускается функция WinMain, которая представляет собой обработчик всех событий поступающих в главное окно приложения и обрабатывай эти события пока не дождешься WM_QUIT.
А вертивальная синхронизация у тебя все-таки включена. И частота кадров у тебя стоит 150. Я прав. Чтобы отключить зайди в свойствах экрана-дополнительно-GeForce 2...-параметры OGL-верт. синхронизация-всегда выкл.
И про тайлы, скажи точно формат текстур, кол-во полигонов в сцене и какой функцией ты эти текстуры накладываешь.



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

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

Наверх




Память: 0.49 MB
Время: 0.037 c
14-1081916684
SPeller
2004-04-14 08:24
2004.04.11
Прикольчик :)


14-1079744422
Dudao
2004-03-20 04:00
2004.04.11
Чистка кода


8-1071577967
Виталий
2003-12-16 15:32
2004.04.11
OpenGL


3-1081944355
zolg
2004-04-14 16:05
2004.04.11
ADO, pack в Dbf


1-1079708278
TransparentGhost
2004-03-19 17:57
2004.04.11
Удаление запущенного ЕХЕ ???