Всем привет. Выдумал я идею как можно ускорить перерисовку экрана минимум в два раза.
Так вот, чтобы понять, как оно работает, расскажу маленькую присказку:
если смотреть на монитор, то мы видим четкое изображение, а если посмотреть чуть-чуть левее? или правее? не земечаете ничего? этот эффект хорошо заметен на старых мониторах! Если вы этого не видите, то расскажу:
если смотреть чуть в сторону от монитора, то изображение начинает мерцать. что это означает? скажем программным языком - глаз человека (или мозг, не знаю точно) устроен так, что изображение в центре глаза обновляется чаше, чем в переферии.
А почему бы не сделать тоже самое и на экране монитора?
Лично я придумал три размера экрана, чередую которые, ФПС возросло в 1,5 раза, хотя по подсчетам должно в 2. НО! Например, таким образом, можно сократить расчеты теней в два раза! и света в два раза! и отражений, и тумана, и пр.
Как вам идея?
Ня? а если монитор LCD?
Смотреть всегда в центр экрана?
Prolet
В форуме на хоботе ТЫ был???
В "Туманности Андромеды" был спиралло-диск, а теперь будет спиралло-рендер.
Lord Stalker
На пример у меня на ЖК этого эффекта нет, может надо понизить частоту обновления... Но суть не в том, какой у тебя монитор, а в том, что реализация подобного эффекта позволяет ускорить рендер
arabesc
В центр экрана, чтоб не видеть мерцания, а вбок - чтобы увидеть
YgriK
Нет не был, виноват )
ВСЕМ
Например, допустим, ФПС экрана = 20.
если разбить экран на три вложенных друг в друга, причем самый большой экран 1х1, средний 3/4х3/4 а маленький 1/2х1/2, то получим ФПС большого 10, среднего 20, а маленького 40.
Такой эффект будет наиболее уместен в экшенах от первого лица.
Prolet
Ну тады с открытием америки ты опоздал на пару месяцев. Этот спиралодиск уже родили :)))
ушёл плакать. сорри за ОТ.
YgriK
Жаль, что поделаешь
Prolet
Ничё не понял... Рабочую прогу в студию...
Executor
Ок, завтра зашлю. С исходниками :)
Любопытная оптимизация! Но правда зависит от игры наверное. В гонках например отлично прокатит.
Или в 3D шутере. Пока стоим все рендерим полностью. А если игрок побежал то постепенно снижаем качество ренедеринга в периферийной области экрана. Отличная идея. Жаль в нашем проекте не применить - совсем другая область 3D графики :)
А в 3D стратегии видом сверху уже никак - т.к. игрок может фокусироваться в любой точке экрана.
Prolet
ЖК мониторы не моргают независимо то частоты обновления.
Да, думал уже об этом.
По настоящему успех у этой идеи появится в энных поколениях стереоочков, которые будут крепится на зрачках, максируясь под контактные линзы, либо подавать сигнал сразу в глазной нерв. Как известно, плотность колбочек и палочек падает при отдалении от центра глазного дна, а в слепом пятне и вовсе отсутствует. Поэтому алгоритмы отрисовки изображения пользуясь этими фактами могут сильно выигрывать в производительности. Ведь на самом деле мозг строит детальное изображение предмета быстро "ощупывая" его центральным, высокоразрешающим зрительным каналом. Стоит же изображению на 5-10 градусов отклонится от этого канала то вы уже даже газетный текст прочесть не сможете. Т.е. типа рендер можно делать в 2-3 прохода, 640 на 480 для всей поверхности глаза и 124 на 768 для центральной зоны, площадью 10% от остального глаза. Экономия будет суперсущественной. Главное размыть зону перехода так, чтобы эффект был незаметен.
Prolet
Это значит, что переферическое зрение работает с большей скоростью, и понижать ему FPS никак нельзя. Разрешение на краях можно понизить и заблюрить.
Но придется геометрию разбивать по областям - филлрейт уменьшим, нагрузку на вершинные щейдеры и проц - повысим.
=A=L=X=
Выигрыш будет - с аппаратной поддержкой. имхо.
это от какой травы так глючит?
Тема в архиве.