![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Full Screen в GlScene [Delphi, Windows]
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)