Flip
Что делает Flip?
Насколько я знаю эта команда должна менять местами задний и передни буффер, т.е. делать что-то вроде CopyRect. Однако время ее выполнения мня поразило: Если рендерить пустой экран или скажем плоскость то время ее выполнения занимает 13-15 ms , откуда получаем, что максимальное FPS на блитце должно быть около 60 (абсурд :wallbash: ). к сведению на Renderworld() приходится 0-1 ms. Дальше - хуже. При достаточно большом кол-ве полигонов Renderworld() отнимает достаточно много времени (несколько десятков ms), а Flip начинает скакать от 8(!) до 25 ms. В чем дело?! |
Re: Flip
А не следовало ли для начала прочитать Хелп, дабы не мешать сюда CopyRect-ы, и на основании полученных данных поставить Flip(0) вместо Flip(1), идущего по-умолчанию? ;)
|
Re: Flip
после етого еще задержку, например
flip(0) while a_time>millisecs()-bugaga: Wend a_time=millisecs() где bugaga - 1000/FPS. |
Re: Flip
Вот еще вопрос немного не в тему:
Я поставил в игре ограничение Fps 60, а Fraps выдает от 150 до 350 в зависимости от количества полигонов на экране; скорость игры же не меняется... Получается Fraps меряет Fps только по времении отображения графики? (ведь при ограничении Fps (по известному алгоритму типа как в Castle) изменяется только число проходов логики)... |
Re: Flip
зачем ставить задержку:
flip(0) while a_time>millisecs()-bugaga: Wend a_time=millisecs() где bugaga - 1000/FPS. обясните кто-то !! |
Re: Flip
затем, что если ее не ставить то если вдруг flip вызовется до того как прошлая картинка перерисуется то картиинки перекроются и все будет дрожать.
|
Re: Flip
понял !!
круто !! |
Часовой пояс GMT +4, время: 00:50. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot