Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Full Screen в GlScene [Delphi, Windows]


Страницы:   1 2 3

Galiaf ©   (2006-02-05 01:18:00) 

Я начал делать игру, затем глянул пример с glfullscreenviver и переделал на него но меня немного пугает тот факт что программа работает только за счёт цикла:
  while GLFullScreenViewer1.Active do begin
     Forms.Application.ProcessMessages;
     Sleep(1);
     Teapot1.TurnAngle:=4*Frac(Now*24)*3600;
     DCBlueLight.RollAngle:=32*Frac(Now*24)*3600;
  end;

и это всё жрёт 100% проца в таске, так же не знаю как в этом случае узнать FPS.
Может кто высказать своё мнение об этом, как лучше делать полный экран, может обычным растягиванием формы или кто может рассказать как правильно пользоваться этим компонентом.


XProger   (2006-02-06 20:49:00) [41]

Galiaf, дык, разницы и быть не должно. Вот Sleep(10) - совсем другое дело :)


Galiaf   (2006-02-06 20:37:00) [42]

Попробовал разницы не чувствую, в принципе я и не ожидал другого.
Напрягает меня этот вопрос.


Galiaf   (2006-02-06 20:37:00) [43]

Попробовал разницы не чувствую, в принципе я и не ожидал другого.
Напрягает меня этот вопрос.


XProger   (2006-02-05 19:10:00) [44]

Galiaf, попробуй :)


Galiaf   (2006-02-05 18:58:00) [45]

убрать sleep вобще?


XProger   (2006-02-05 18:50:00) [46]

Galiaf,
при старте:
fps_time := GetTickCount; fps := 0;
После отрисовки:
 if fps_time <= GetTickCount then
 begin
   fps_time := GetTickCount + 1000;
   fps      := fps_cur;
   fps_cur  := 0;
 end;
 inc(fps_cur);

В том что жрёт 100% - нет ничего неприличного (для игр по крайней мере).
Можно избежать этого, используя WaitMessage или Sleep. Но я этого делать не рекомендовал бы, т.к. игра должна выжимать все ресурсы что ей доступны (не боись, ничего не задымится ;)
Игры и прочие графические приложения, от которых требуется скорость работы и её прозрачность - пишу на API.


Galiaf   (2006-02-05 18:36:00) [47]

Здарова всем!
2 DeadMeat
  Пасиба, проверю чуть позже.
2 XProger
  Как эту процедуру (или это функция?) правильно туда сунуть и сунуть ли вообще, я немного напряжон относительно этого вопроса, ты наверное часто пишешь на чистом Api, вот я как-то писал по примеру и для того что бы прога не закрывалась а висела в процессах там использовался схожий блок как у меня в вопросе и тоже 100% проца жрёт? Можешь высказаться по полной по этой "проблеме"?


DeadMeat   (2006-02-05 13:34:00) [48]

GLFullScreenViewer1.Buffer.FramesPerSecond

---
...Death Is Only The Begining...


Yanis   (2006-02-05 12:58:00) [49]

To Домовенок [3]
Судя по первому посту, Galiaf'у этот компонент знаком.


Домовенок   (2006-02-05 12:55:00) [50]

Есть компонента GLFullScreenViewer, её можно использовать совместно с GLSceneViewer. Это удобно когда нужно сделать поддержку оконного режима и полноэкранного одновременно. Как это реализовывается, есть в примерах с GLScene.


XProger   (2006-02-05 12:26:00) [51]

100%? Это хорошо...
GetTickCount - даст тебе время в мс для (определения FPS)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо