Страница 1 из 1

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

СообщениеДобавлено: 15 янв 2010, 21:36
ffinder
тема навеяна вот этой: 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

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

СообщениеДобавлено: 15 янв 2010, 22:07
Neodrop
Что-то меня это вводит в сомнение. Дефолтное значение -1, что говорит о том, что уж точно кадры не накапливаются. Вы ставите ноль и получаете то же самое. В чём мега-выигрыш? :-?

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

СообщениеДобавлено: 16 янв 2010, 01:08
gnoblin
-1 говорит о том что кол-во кадров в буфере выбирается автоматически.

Тестил не совсем я, но идея правильная :) .

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

СообщениеДобавлено: 16 янв 2010, 01:23
Neodrop
Пример сюда. Без примера это - пустая болтовня.

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

СообщениеДобавлено: 16 янв 2010, 01:29
DbIMok
тест: 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

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

СообщениеДобавлено: 16 янв 2010, 01:36
gnoblin
20 сбрасывается на 10 :)

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

СообщениеДобавлено: 16 янв 2010, 01:40
DbIMok
да, сбрасывает

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

СообщениеДобавлено: 16 янв 2010, 02:28
gnoblin
Запостил на оф.форуме
http://forum.unity3d.com/viewtopic.php?p=256063#256063

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

СообщениеДобавлено: 16 янв 2010, 14:13
gnoblin
У кого-нибудь есть пару видюх на борту в режиме SLI или Crossfire ? Есть предположение, что с maxQueuedFrames = 0 будет глючить :-w

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

СообщениеДобавлено: 16 янв 2010, 16:18
Sef
Нужно просто:
QualitySettings.maxQueuedFrames = 0

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

Тестил на острове и своём движении кубика... разницы в гладкости не заметил...

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

СообщениеДобавлено: 17 янв 2010, 06:50
Neodrop
Дремора тот ещё болтун на оффе. Но, если он прав и очередь должна быть равна количеству карт, то их вполне можно получить через классы [unity 3D] Unity. Не помню на-вксидку какие, но можно.

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

СообщениеДобавлено: 28 авг 2011, 17:07
artk
Спасибо. Странно, но работает. Просто спасли меня. ^:)^

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

СообщениеДобавлено: 23 фев 2014, 15:51
iseeyou
Currently maxQueuedFrames is only implemented in Direct3D renderer; it will be ignored in OpenGL.


Даже не стал пробовать, т.к. мне нужно для для Андроида под OpenGL.

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

СообщениеДобавлено: 23 фев 2014, 16:06
BornFoRdeatH
Изображение

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

СообщениеДобавлено: 02 июл 2014, 10:15
craw1er
QualitySettings.maxQueuedFrames = 0, и плюс еще
Application.targetFrameRate = 60 - ограничить фреймрейт, чтобы видео карта не надрывалась и не ревели кулера