Стабилизация FPS: QualitySettings.maxQueuedFrames

Оптимизация кода.

Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение ffinder 15 янв 2010, 21:36

тема навеяна вот этой: http://dev.dtf.ru/forum/flat.php?id=18812&page=1&page_size=20#m263827

после недолгих, но бурных обсуждений в скайпе пришли (временно?) к такому решению:
http://unity3d.com/support/documentation/ScriptReference/QualitySettings-maxQueuedFrames.html

где нибудь один раз в Start() пишем такое:
QualitySettings.maxQueuedFrames = 0

это запрещает рендереру накапливать кадры (в очередь на отрисовку?)
в итоге получаем более стабильный, хоть и не максимальный FPS, что однозначно радует.

Тесты были проведены Gnoblin`ом на нетбуке.
А сама фича появилась в Unity 2.6
ffinder
UNITрон
 
Сообщения: 192
Зарегистрирован: 26 мар 2009, 17:35
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение Neodrop 15 янв 2010, 22:07

Что-то меня это вводит в сомнение. Дефолтное значение -1, что говорит о том, что уж точно кадры не накапливаются. Вы ставите ноль и получаете то же самое. В чём мега-выигрыш? :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8428
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение gnoblin 16 янв 2010, 01:08

-1 говорит о том что кол-во кадров в буфере выбирается автоматически.

Тестил не совсем я, но идея правильная :) .
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение Neodrop 16 янв 2010, 01:23

Пример сюда. Без примера это - пустая болтовня.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8428
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение DbIMok 16 янв 2010, 01:29

тест: 3D платформер, железо CPU 2 ГГц, видео Radeon 9600
1024x768 fastest оконный режим
при появлении стрелка вправо, бег по платформе по кругу
-1: стоя при формально высоком FPS (40) лепра "колбасит", он сам по себе вскидывает руки, видно как дискретно вращается фонарь, рывками поднимается туман. сильные рывки изображения при беге. FPS 25-60.
0: стоя FPS 25. фонарь вращается плавно, туман поднимается как и должен, лепр стоит спокойно. бег 23-50 рывков изображения нет.
1: стоя все точно так же. при беге почти незаметные рывки. FPS такой же как при 0.
2: стоя FPS 27. при беге FPS 27-60. заметны рывки, особенно когда пробегает мимо лифта.
3: стоя FPS 23-27. туман поднимается неестественно. при беге сильно заметны рывки напротив лифта. FPS 24-66
4: стоя 23-28. туман дергается, фонарь вращается с рывками. при беге рывки FPS 24-60
5: стоя 25. рывки тумана и фонаря сильнее. бег 17-60, играть невозможно из-за рывков, но лучше чем при -1
20: ситуация неотличима от -1
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > Telegram чат @unity3d_ru (4500+) > Telegram канал @unity_news (1600+) > Telegram тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 5964
Зарегистрирован: 31 июл 2009, 14:05
Откуда: RU.61
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение gnoblin 16 янв 2010, 01:36

20 сбрасывается на 10 :)
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение DbIMok 16 янв 2010, 01:40

да, сбрасывает
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > Telegram чат @unity3d_ru (4500+) > Telegram канал @unity_news (1600+) > Telegram тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 5964
Зарегистрирован: 31 июл 2009, 14:05
Откуда: RU.61
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение gnoblin 16 янв 2010, 02:28

Запостил на оф.форуме
http://forum.unity3d.com/viewtopic.php?p=256063#256063
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение gnoblin 16 янв 2010, 14:13

У кого-нибудь есть пару видюх на борту в режиме SLI или Crossfire ? Есть предположение, что с maxQueuedFrames = 0 будет глючить :-w
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение Sef 16 янв 2010, 16:18

Нужно просто:
QualitySettings.maxQueuedFrames = 0

У меня ноут:
Processor: Intel(R) Celeron(R) M processor 1.60GHz
Memory: 1016MB RAM

Тестил на острове и своём движении кубика... разницы в гладкости не заметил...
Аватара пользователя
Sef
Старожил
 
Сообщения: 595
Зарегистрирован: 29 окт 2009, 13:24
  • ICQ

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение Neodrop 17 янв 2010, 06:50

Дремора тот ещё болтун на оффе. Но, если он прав и очередь должна быть равна количеству карт, то их вполне можно получить через классы [unity 3D] Unity. Не помню на-вксидку какие, но можно.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8428
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение artk 28 авг 2011, 17:07

Спасибо. Странно, но работает. Просто спасли меня. ^:)^
Аватара пользователя
artk
Старожил
 
Сообщения: 749
Зарегистрирован: 22 май 2011, 12:22

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение iseeyou 23 фев 2014, 15:51

Currently maxQueuedFrames is only implemented in Direct3D renderer; it will be ignored in OpenGL.


Даже не стал пробовать, т.к. мне нужно для для Андроида под OpenGL.
AlphaCrust | Работаю над проектом MuOnline
Аватара пользователя
iseeyou
UNец
 
Сообщения: 19
Зарегистрирован: 17 фев 2014, 23:08
  • Сайт

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение BornFoRdeatH 23 фев 2014, 16:06

Изображение
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2324
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Стабилизация FPS: QualitySettings.maxQueuedFrames

Сообщение craw1er 02 июл 2014, 10:15

QualitySettings.maxQueuedFrames = 0, и плюс еще
Application.targetFrameRate = 60 - ограничить фреймрейт, чтобы видео карта не надрывалась и не ревели кулера
тут могло быть что-то умное
Аватара пользователя
craw1er
UNец
 
Сообщения: 41
Зарегистрирован: 14 апр 2009, 00:10


Вернуться в Код

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2