Компания планирует увеличить комфортность ВР и снизить нагрузку на вычислительные мощности при помощи имитации периферического зрения
Человеческий глаз устроен сложно. Мы, как всеядные, имеем достаточно широкий угол обзора, но все равно четко видим только то, на чем сфокусирован наш взгляд. Вся остальная область позволяет нам различать объекты, но видим мы их нечетко, размыто. Это мы и называем периферическим зрением.
Изначально, компании-производители ВР-шлемов гнались за четкостью изображения на экранах, скоростью обновления кадра и общим качеством картинки. Сейчас, когда продукция HTC, Oculus и Sony выходит на широкий рынок, пришло время задуматься об оптимизации, ведь не все могут позволить себе стационарный ПК стоимостью 1500-2500$ ради того, чтобы попробовать новый продукт. И это еще без стоимости самой гарнитуры.
Основную финансовую нагрузку формируют видеокарты, которые занимаются рендерингом изображения в два потока на экраны ВР-шлемов. И NVidia, как основной игрок на рынке и поставщик, задумались над оптимизацией и повышением комфортности процесса погружения в ВР-мир.
Сейчас вся картинка в ВР-гарнитурах отрисовывается с одинаковой степенью качества. Переведя взгляд на любую часть экрана, пользователь увидит одинакового качества картинку. Но на самом деле, четко человеческий глаз видит только в узкой области фокуса, а все остальное приходится на зрение периферическое, картинку с которого наш мозг обрабатывает и смягчает.
В NVidia пришли к выводу, что имитировать поведение реального глаза при рендеринге картинки на экранах ВР-гарнитур будет хорошим решением, ведь, во-первых, это позволит снизить нагрузку на вычислительные мощности ПК, к которому подключен шлем, а во-вторых, повысить реалистичность поведения изображения и, соответственно, увеличить комфортность игрового процесса.
Но, так как наши глаза подвижны, сделать просто четкое «пятно» фокуса посреди экрана нельзя. Для имитации поведения реального зрения инженеры NVIDIA прибегли к системе трекинга положения глаз, чтобы четко определять, куда именно смотрит пользователь. В итоге, им удалось разработать систему, которая достаточно реалистично симулирует поведение человеческого сзрения и при этом экономит вычислительные ресурсы системы:
Полностью отрисованная картинка для ВР, фокус на часах
Просто «заблюренная» периферия картинки для ВР, фокус на часах
«Заблюренная» периферия картинки для ВР с сохранением необходимого уровня контрастности, имитация реального зрения, фокус на часах
Даже сейчас, просто глядя на изображение, можно признать, что инженеры NVIDIA на правильном пути. Сфокусировавшись на часах даже на экране монитора, разница между первым и третьим изображением, на первый взгляд, практически отсутствует. Разработка ведется на базе уже существующей технологии SMI (SensoMotoric Instruments), которая была представлена еще для Oculus Rift DK2 в ноябре 2014 года.
Если вы считаете, что инженеры NVIDIA просто «мылят» все, что не в фокусе, вы ошибаетесь. В ходе работы было обнаружено, что при традиционном рендеринге картинки в области периферического зрения образуются провалы и мерцание, вызывающие чувство дискомфорта. Просто же «блюр» изображения снижает контрастность, что вызывает чувство «туннелирования» зрения.
Именно поэтому инженерами был создан целый алгоритм, который оценивает форму, цветность и контрастность, а так же движение объекта. Благодаря этому «блюр» для пользователя проходит комфортно и практически незаметно, без побочных эффектов.
Видео-демонстрация этапов «блюра» картинки для ВР от NVIDIA
Комментарии (110)
Jamato
23.07.2016 13:20Это те же ребята, которые делаю light field с несколькими дисплеями для имитации фокусировки глаз?
abstracto
23.07.2016 13:51+1разве всё равно не нужно рендорить всё? или там типа тени в тех местах блюра не рендорятся?
ns3230
23.07.2016 14:44+1Для периферии, как я понимаю, можно текстурки меньшие подгружать, снижая нагрузку на ГП
Shifty_Fox
23.07.2016 18:35+2Разбиваем площадь экрана на массив квадратов. Участки в фокусе рендерим 1 к 1. Участки вне фокуса зрения рендерим с разрешением 1:2, 1:4 и так далее. Самый максимум можно выжать, если эти сектора будут виртуальными дисплеями для видеокарты, которые на ходу смогут менять разрешение. Соответственно, сильно заточить железо и драйвер под мультидисплейный рендер. Увы, с стоковыми видеокартами такой вариант не прокатит, однако можно выпустить видеокарты special for vr, и это действительно будет профит и большой выигрыш по производительности.
AlexB17
24.07.2016 10:49Как раз в последних видеокартах от NV эти технологии и реализованы (Simultaneous Multi-Projection Engine), они даже VR стерео картинку за 1 проход делают и разбивают кадр на мультипроекции с любым шагом и любой кривизной избавляясь от артефактов при выводе на многомониторную конфигурацию, так что технология в статье в полушаге от применения.
Shifty_Fox
23.07.2016 19:03+1Точно, комментарием ниже beeruser написал вариант и для стоковых видеокарт, даже проще.
Весь кадр рисуется с разрешением x0.5-x0.25. Эт на порядки повышает производительность. И лишь в области фокуса мы рисуем четкую картинку, которая втрое-вчетверо меньше по размеру чем весь дисплей. В итоге минимум двукратный прирост производительности. Если подумать, тоже самое можно использовать и для _самых_ обычных мониторов, получая выигрыш в производительности для обычных ПК в играх. Естественно предполагается, что пользователь сидит достаточно близко к full hd монитору, что конечно не очень приятно и полезно для зрения.
AliasVeter
23.07.2016 13:55+2Как они собираются движения глаз трекать? Насколько я знаю, в Oculus Rift нет такой возможности.
gsaw
23.07.2016 14:07Они кажется пользовались SMI Eye Tracking. У них есть и для Oculis Rift решение.
Foolleren
23.07.2016 18:23такая фича была реализована в плёночном фотоаппарате 92 года выпуска, понадобилось всего 4 ик светодиода 1 дихроическое зеркало 1 линза одна ссд матрица.
evocatus
24.07.2016 01:24А что за фотоаппарат?
Foolleren
24.07.2016 07:42первым был EOS 5, в 98 появился более навороченный EOS 3 на этом всё и затухло, система требовала персональной калибровки не работала в портретной ориентации, и могла ошибаться если «вложиться» не так как при калибровке. Эту парочку до сих пор можно найти на барахолках.
Goodkat
23.07.2016 14:01+3В очках виртуальной реальности основная проблема — это запаздывание изображения за движениями головы, так что многих людей тошнит с непривычки. Глаза же движутся намного быстрее головы — как решили эту проблему? Не получится ли в итоге дороже, чем честно рендерить картинку целиком?
gsaw
23.07.2016 14:16Я читал, что тошнота вызывается диссонансом между зрительной информацией и той, что получает вистибулярный аппарат. Для этого либо делают перемещение скачкообразным, из точки в точку, либо поверх изображения рисуют приборную панель или подобное. Мне кажется заблюривание относится ко второму варианту.
Garbus
23.07.2016 14:41Ну тут как обычно вылезают тонкости. Если зритель в игре(фильме) движется — запаздывание менее заметно. Если стоишь на месте озираясь, лаг будет проявляться во всей красе.
Впрочем, в «дешевый» ВР уже завтра все равно не верится. Для этого нужны недорогие карты с производительностью близкой к нынешним топам, не жить же с 720p и «киношными» 30 fps?Milein
24.07.2016 10:50Запаздывание изображения это проблема низкого фпс. Поэтому на вайве и рифте cv1, дефолтным и рекомендуемым являются стабильные 90. Уже при падении до 60 чувствуется дискомфорт. VR с 30 фпс это вообще неиграбельно для большинства.
А насчёт «дешевого» — ну RX 480 продаётся от 200 долларов, GTX 1060 от 250 — вполне себе карты стартового уровня для текущего VR.Garbus
24.07.2016 15:21Ну вот я про то и говорю, что ВР начального уровня только начинает обходиться чем то более скромным чем система на 3-4 видеокарты, с ценой в тысячи $.
alekseev_ap
25.07.2016 15:05+1На мой взгляд, тут уже немного другой случай, но можно и нужно применять ту же самую технику, а именно радикальное ухудшение качество картинки с целью повысит в разы FPS! Попробуйте на быстро вращающейся карусели не водить глазами, цепляясь за объекты, а просто зафиксировать голову и взгляд. Увидите размытое изображение. Если при сильном панарамировании во время игры уменьшать качество и повышать FPS, то запаздывания изображения будет меньше, а ощущения более правдоподобными.
Mad__Max
25.07.2016 23:21Достаточно даже офисного стула(кресла) на газ лифте — поднять ноги над полом и чуть толкнуться. Если подавить рефлекс глаз скакать цепляясь за отдельные объекты (с быстрой их сменой) то картинка размывается так что пипец.
Правда не ясно это из-за самого движения(ограничения при обработке мозгом поступающей информации) или просто из-за того что глаз не успевает фокусироваться оптически и это мыло аналогично фотографиям не в фокусе.
Ну и головокружение от такого очень быстро наступает — гораздо быстрее чем если «цепляться» глазами за объекты и при этом вращаясь с такой же скоростью. И в случае с ВР и так уже у многих проблемы с этим.alekseev_ap
26.07.2016 08:43Правда не ясно это из-за самого движения(ограничения при обработке мозгом поступающей информации) или просто из-за того что глаз не успевает фокусироваться оптически и это мыло аналогично фотографиям не в фокусе.
Думаю, что в этом случае поток информации возрастает очень сильно. Когда мы смотрим в одно место в течение продолжительного времени, то мозг получает информацию о том, что было, строит прогноз и сравнивает со вновь поступающей информацией. При панарамировании у мозга нет предыдущей информации о только что появившихся объектах, он не может отследить их перемещения и возможные действия в перспективе из за недостатка информации, получается своеобразный перегруз, что в конечном итоге ведёт к тому, что большая часть информации просто отбрасывается и не обрабатывается. А раз так, то зачем снабжать мозг в этот момент качественной информацией (картинкой)? Вполне подойдёт и грубая, плохо обсчитанная копия. Но вот если частота смены кадров будет невысокой, картинка будет застывать и дёргаться, то мозг почувствует что то неладное. Так не бывает в реальной жизни и он это чувствует.
kranky
23.07.2016 14:33-4Лучше бы научились полностью кадр под каждый глаз не перерендеривать, а определять общие для двух кадров элементы.
abstracto
23.07.2016 19:45обязательно, только сначала стоит научится, телепортации, швырянию огненных шаров и хождению через стены.
perfect_genius
23.07.2016 21:15Вы про стерео 3D, применённое в Crysis 2 и 3 на консолях?
kranky
24.07.2016 21:23Я про то, что далёкие объекты можно не рендерить дважды, а один раз отрендерить и использовать как общий фон для близких объектов, за счёт схлопывания перспективы всё равно разницы видно не будет. И шейдёры многие можно дважды не считать. Разве что отражения нужно под каждый глаз пересчитывать.
Lisio
23.07.2016 14:48-2Получается, что изображение будет дважды размыто. Сначала видеокартой, потом самим глазом.
gsaw
23.07.2016 14:55Зато изображение не в фокусе не нужно рендить с таким же разрешением и тем самым можно повысить производительность.
evtomax
23.07.2016 18:11Видимо из-за этого и необходимо повышать контрастность размытой части изображения.
Mad__Max
23.07.2016 21:19Это нужно потому что «размытие» компьютерным блюром и глазом на периферии сильно разные по своей природе.
Компьютерный блюр — это на самом деле исходное (высокое) разрешение, но просто соседние пиксели смешиваются друг с другом и в результате имеют очень близкие цвета со слабо выраженными переходами между ними. Т.е имеем большое кол-во элементов со слабыми переходами.
А нечеткость зрения глаза на периферии — это именно низкое разрешение (из-за малого количества светочувствительных клеток сетчатки на единицу площади — чем дальше от центра, тем их становится меньше). В результате имеем малое кол-во элементов с довольно сильными (грубыми) переходами между ними.
Увеличивать физический размер пикселя(уменьшая их количество) от центра экрана к краям, чтобы имитировать глаз они понятно не могут.
И поэтому повышая контрастность после применения блюра они пытаются плавно размазанную картинку сделать похожей на картинку «рисованную грубыми мазками» (как рисунок художника кистью против нечеткой фотографии) — это больше похоже на то, как видит глаз по краям области зрения чем простой блюр.
oldpeepper
25.07.2016 10:28-1А за что товарища минусуют? По сути-то он прав. Лукавят господа производители.
Периферическое зрение действительно имеет более ризкое разрешение. Но это не значит, что если подсунуть ему худшую картинку — человек не зависит разницы.
Это примерно то же самое, что с слабо слышащим пытаться разговаривать шёпотом. Ну а что? Он же слышит плохо — давайте ему бубнить сквозь зубы будем — всё-равно не поймёт ничего.
Про экономию вычислительных ресурсов — замечательно. А вот что это не ухудшит восприятие деталей — лукавство.Mad__Max
25.07.2016 23:24Нет это про то, что слабо слышащему бесполезно loss-less музыку слушать с максимальным качеством. Пойдет и 128 кбит MP3, но зато с громкостью выкрученной на максимум (в случае видео — с усиленным контрастом при сниженной детализации).
oldpeepper
26.07.2016 01:12А зачем нам тогда мониторы 32bpp и 120 Гц? Глаз столько «не видит».
Что бы «добавить красок» с помощью «неощущаемого»… убрать мерцание.
Ровно то же и с периферическим зрением.sumanai
26.07.2016 01:21+1А зачем нам тогда мониторы 32bpp и 120 Гц? Глаз столько «не видит».
Почему вы так считаете?oldpeepper
26.07.2016 04:36Ну хотя бы поэтому https://rc.nsu.ru/distance/Biology/Archives/033.html
Интересует тема глубже — множество различных -педий в помощь, как и просто учебники биологии (посовременнее).
ЗЫ: Как тут весело — минусовать в карму за мнение отличное от толпы — тут можно ежесекундно и без особых причин.., за то «несогласные» комментировать — раз в час. Такая вот навальная демократия…
Mad__Max
27.07.2016 18:04Затем, что 16бит/пиксель для человека с нормальным зрением явно недостаточно — глаз точно и легко видит больше оттенков если человек не дальтоник. А не кратные степени 2ки схемы кодирования в компьютерах применять особо смысла нет из-за особенностей двоичной архитектуры, поэтому следующая ступенька сразу 32бит на пиксель.
При этом большинство мониторов сейчас всего 18 бит цвета + FRC(эмуляция дополнительных цветов) в реальности показывают принимая 32бит сигнал и подавляющему числю людей этого уже вполне достаточно. Хотя желательно все же полноценные 24 бит (8 на канал).
120 Гц больше из области «золотых кабелей» для аудиофилов (т.е. больше психологии и плацебо). Хотя в некоторых случаях имеют смысл — для «хардкор» геймеров. Или например для вывода псевдо 3Д картинки (где попеременно выводятся кадры для левого и правого глаза, поэтому 120 Гц превращаются всего лишь в 60 Гц стереокартинки). Поэтому опять же доля таких мониторов очень мала от общего количества — большинству они просто не нужны и не имеют смысла. И эта доля была бы еще меньше, если бы были распространены мониторы с промежуточными вариантами — оптимум(после которого разницы уже практически незаметно) лежит где-то в районе 85 Гц. Но на практике после того как ЖК захватили рынок убив ЭЛТ обычно выбор между «офисным» стандартом 60 Гц и «игровыми» 120 Гц и кому маловато 60 Гц приходится брать сразу 120 Гц.
P.S.
Мы же говорили об ограниченном зрении. Т.е. человеке с плохим слухом/зрением (или плохой областью зрения для здорового человека если ближе к исходной теме). Люди с плохим зрением точно за мониторами со 120 Гц и максимально точной цветопередачей не гоняются. Попробуйте включить в ОС схему с оформлением для слабовидящих. Там минимум цветов с резкими грубыми переходами и крупные (увеличенные) элементы и шрифты. Но как раз для слабовидящих такая «некачественная» с точки зрения нормально видящего картинка как раз лучше чем тонкие цветовые переходы и больше количество элементов с высокой детализацией.
beeruser
23.07.2016 16:42Эта «технология» называется foveated rendering и без nvidia уже было несколько реализаций
>> Сейчас вся картинка в ВР-гарнитурах отрисовывается с одинаковой степенью качества.
Зависит от чипа. На старых чипах реализуется рисованием в 2 прохода и наложением чёткого пятна в центре.
Современные же чипы умеют создавать рендер-таргеты с переменной плотностью пикселей.
Volutar
23.07.2016 18:43+3Ну наконец-то. Если nvidia этим занялась, то можно ждать что-то потенциально качественное и массовое. Помимо экономии мощностей GPU, при должной проработке это еще сильно сэкономит канал пересылки от GPU к очкам (да пусть хоть и через USB). С частотой в 100гц создается и посылается низкокачественная картинка, с частотой в 50гц создается качественная фовеальная картинка, и посылается в очки. Если происходит саккада, то это провоцирует «ускоренный» перерендеринг фовеальной области. А внутри очков происходит перепроекция, объединение, прекомпенсация дисперсии линзы, блюр и вывод. Если смогут сделать несколько уровней разрешения (мипов), и в сами очки встроят все эти манипуляции, то может получиться очень круто. Экономия будет по всем фронтам. Конечно, фовеальное запаздывание в какой-то степени по-любому будет присутствовать, но ИМХО от этого голова кружиться не будет. Просто будет немного запаздывающее «наведение резкости». Причем запаздывание это можно уменьшить, если уменьшить эту зону, и рендерить фовеальную часть с максимальным приоритетом. А слежение за зрачками помимо этого еще кучу полезностей даст для VR, и не только для VR. Чувствую, что именно за этим направлением может быть будущее.
Alexsey
24.07.2016 21:52+3Ну наконец-то. Если nvidia этим занялась, то можно ждать что-то потенциально качественное и массовое.
И, зная любовь нвидии к проприентарщине, работающее только на их видеокартах. Плавали, знаем.
Foveator
26.07.2016 12:28Давненько мы ждали реализации нашего изобретения 1996 года, изложенного в патенте РФ №2134053 для снижения необходимых вычислительных мощностей для обработки видео сигнала и для прочих нужд.
Позже, для «защиты видеоинформации от несанкционированного доступа, распространения и использования», нами подан патент РФ 2220514
www1.fips.ru/fips_servl/fips_servlet?DB=RUPAT&rn=2796&DocNumber=2220514&TypeFile=html
А затем и патент США
patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=7950029.PN.&OS=PN/7950029&RS=PN/7950029
Долгие годы мы (изобретатели ) ожидали, когда стоимость EYEtracker снизится до стоимости монитора или стоимости телевизора.
Это время пришло. Уже существует организация, которая уже продает eyetracker
geektimes.ru/company/medgadgets/blog/250644
И эта же организация уже анонсировала hardware — VR, совмещенную с eyetracker
www.cnet.com/news/eye-tracking-vr-headsets-future-mwc-virtual-reality-oculus-samsung-gear
Ждем с таможенниками с нетерпением даты начала продаж описанных приборов NVIDIA в России.
perfect_genius
23.07.2016 21:21+1А ещё можно сэкономить на рендеринге слепых пятен, хе-хе.
Meider1
23.07.2016 22:01Рендер игрового движка тоже играет немаловажную роль, и его оптимизация под видеокарты
perfect_genius
23.07.2016 22:09+1Закройте правый глаз и посмотрите на правый крестик в кружке. Если левый не исчез то найдите расстояние до экрана, при котором он исчезнет:
Ну так вот этот левый крестик видеокарте рендерить не надо, получается: )sumanai
23.07.2016 22:12Если левый не исчез то найдите расстояние до экрана, при котором он исчезнет
Представляю как люди будут оттягивать от себя очки, чтобы найти своё слепое пятно.perfect_genius
23.07.2016 22:30Можно задвинуть этот левый крестик ближе-дальше от правого. Сейчас проверил в Пейнте.
sim31r
24.07.2016 04:27Рекламщики будут оценивать эффективность контекстной рекламы по расширению зрачков, как торговцы опытные вживую, побочный возможный эффект. Что-то впечатлило человека, сразу можно выявить обратную связь и использовать это против.
Shadow_Runner
25.07.2016 10:15Или отслеживать, какие именно виды рекламы/изобржений заставляют человека сразу перевести на них взгляд, насколько надолго… бесценная информация в нужных руках)
sumanai
25.07.2016 10:55Зачем напрягаться? Просто будут отображать рекламный баннер всегда напротив взгляда.
Shadow_Runner
25.07.2016 11:09Когда уже там новые серии Черного зеркала) Как раз вторую серию напомнило.
Volutar
25.07.2016 15:35На самом деле eye tracking даст кучу всяких геймплейных фишек, которые совершенно невозможны иным способом. Например, симуляция того же «туннельного зрения» в определённых критических ситуациях. Какие-нибудь «червячки», которые будут ползать по периферии и отвлекать взгляд. Или же наоборот — показывать затенённый центр как при нарушениях в хрусталике или сетчатке бывает (в качестве «реалистичного» индикатора совсем серьезных травм). И это не говоря о скриптовых триггерах, которые будут срабатывать когда на что-то посмотришь. Да тот же depth field, который будет настраиваться на точку фокусировки. Фактически фокус взгляда может стать дополнительным контроллером, который можно круто встраивать в геймплей. В том числе обнаруживать что глаза закрыты (обнаруживать степень открытости), и менять таким способом поведение монстров (напугают, когда откроешь).
Shadow_Runner
25.07.2016 16:11Кстати говоря да. Вспоминая некоторые игрушки, которые ломали четвертую стену отвлекая тебя чем-то якобы из реального мира и прочее… Черт, да это будет бесценная вещь для хоррор игр. Я уже хочу этот Сайлент Хилл, где монстры будут пробегать в тени как только я туда не смотрю. И где чтобы пройти какую-то часть уровня мне нужно не отводить взгляд от дороги, например.
Mad__Max
25.07.2016 23:30Сразу подумал о разных ужастиках/триллерах. Когда какие-нибудь неясные образы / тени будут подбираться к тебе в зоне периферического зрения, но мгновенно исчезать как только переведешь на них взгляд/повернешь голову как буд-то ничего там не было.
Должно очень хорошее впечатление давать.
daihatsu
24.07.2016 10:53Все реально.
За исключением того, что карта будет успевать пересчитывать участки столь оперативно как движется глаз человека.
Это вызывает большие сомнения. Задержки неминуемы. Их трудно-трудно обойти.
Mii
24.07.2016 15:44-2пост тупая фигня от начала до конца. блёра нет. строчки горизонтального жалюзи на переферии решат ваши проблемы достаточно глубоко настоьлко что вы тоже скажете что пост тупая фигня от начала до конца вместе с комментами. Моим тоже. не спорь с кем-то там чтобы не быть чем-то не тем
kalmarius
Когда изобретали формат mp3, говорили, что при кодировании отсекается та часть звуков, которую человек все равно неспособен услышать. Но вокруг множество людей, которые утверждают, что отличают lossless-аудио от mp3 и что последний — совешенно неприемлимо звучит (сам подтвердить или опровергнуть не могу, ибо нифига не меломан и разницы не чувствую).
Чувствую, что с таким способом обработки vr-картинки будет та же ситуация — найдется куча ценителей именно «незамыленной» и полностью отрисованной картинки.
ragequit
Ну, само собой. Вот только физиологию не обманешь, глаза у всех устроены более-менее одинаково.
Saffron
Так всё равно алгоритмы не совершенны. Так что блюрить будут не то, и не там, где надо.
mx2
Если блур периферии позволит повысить детализацию центра перераспределением ресурсов, то что в этом плохого?
Saffron
Ошибки при определении центра и периферии. Возможны быстрые движения глаз, за которыми картинка не будет успевать подстраиваться.
Плюс деградация качества картинки лучше видна, чем её увеличение, потому что чем качественнее картинка, тем больше дополнительных мощностей нужно, чтобы сделать её ещё качественнее.
dmial
Производители, например, станут оснащать очки набором успокоительных химсредств для снижения скорости движения глаз. А какие-нибудь там травокуры (сугубо теоретизирую), может быть, уже готовы к использованию подобной технологии виртуальной реальности :-)
edd_k
Причем блюр у них работает на 5+ и без усилий со стороны nvidia ))
RuddyRudeman
Пишут, сенсоры зрачка на 250 Гц, такие вы глазами точно не обгоните
sumanai
А дисплеи на 60 + куча задержек.
RuddyRudeman
Дисплеи на 90 и визуально задержек нет (htc vive)
kergma
Саккада в человеческом глазу требует около 200мс на подготовку и 20-200мс на совершение движения, соответственно эта технология требует 50 fps в отрисовке и в пару-тройку раз больше в детектировании положения зрачка, что выглядит вполне посильно
edd_k
Если в заблюренной области еще и лесенки будут (называемые оптимизацией), то это замена одного дискомфорта на другой. А так, замыленость области практически ни капли не позволяет сэкономить на ее рендеринге. Так что снижение затратности рендеринга — это скорее фантазия.
mx2
Лесенок не будет, если правильно сделать выборку сэмплов, оптимизацией они не называются. В текущем виде, с экранами от смартфона толку мало, а вот если делать экран с большим охватом и учетом периферического зрения, то сэкономить вполне можно.
edd_k
На чем конкретно? От каких операций можно будет отказаться? Наоборот, мы добавляем работы.
mx2
В нужных центральных пикселях суперсэмплинг, в периферийных — наоборот, один семпл на несколько пикселей. Блур погоды не делает. Профит.
edd_k
«один семпл на несколько пикселей» — лесенки. Нет, ЛЕСТНИЦЫ ДЛЯ ТИТАНОВ. Лесенки — это когда просто пипксель в пиксель рендерим.
creker
Нет. С хорошим сглаживанием даже пониженное разрешение практически не видно. Хороший пример консоли, где разрешение рендеринга 1600х900 при разрешении экрана 1920х1080 не выделяется ничем, кроме как более размытой картинкой и потерей деталей у удаленных объектов. Здесь размытие вообще скроет всякие признаки.
edd_k
>> С хорошим сглаживанием даже пониженное разрешение практически не видно.
А суть хорошего сглаживания в чем заключается? В рендеринге большего количества пикселей, чем требуется!
>> Хороший пример консоли, где разрешение рендеринга 1600х900 при разрешении экрана 1920х1080 не выделяется ничем
При растягивании с 1600 до 1920 «хорошее сглаживание» не применяется. И речи об «один семпл на несколько пикселей» не идет.
Один семпл хотя бы на 2х2 пикселя — это рендеринг 960х540 и вывод этого изображения на 1920х1080. Почувствуйте разницу с вашим примером.
mx2
Если 2х2 заблурить радиусом 10, будет немножко неважно, 2х2 там или 1,5х1,5. А если добавить чуть-чуть более хитрые алгоритмы и выделять грани, например, то и вовсе окажется, что в каких-то областях можно делать 3х3 или 4х4. Ну и если уж говорить про рендеринг большего количества пикселей, чем нужно, то уже сам факт отказа от тяжелого сглаживания вне центра даст хороший прирост.
kirilloid
Эппл, кстати, именно делает то же самое — рисует с меньшим разрешением перед размытием.
На iPhone (на iPad по-другому сделано) если на «desktop» потянуть вниз, то весь фон начинает размываться. Так вот, если тащить очень медленно, пиксель за пикселем, то можно увидеть артефакты такого сэмплинга. Особенно на некоторых иконках заметно. Например, иконке фотоаппарата.
Хотя у Эппл это просто способ оптимизации самого блюра — для больших радиусов на самом деле брать копию с меньшим числом пикселей, размывать и потом тупо upscale. Таким образом радиус размытия в пикселах меньше получается.
В общем, несмотря на то, что Эппл преследует другую цель, идея как раз работает.
creker
Нет, учите матчасть. Хорошее сглаживание нынче это temporal AA с хитрыми эвристиками и фильтрами, что позволяет за счет предыдущих кадров добиться суперсемплинга.
Опять голословные утверждения. Почитайте про современные проекты. Я конкретно могу привести в пример Ryse на xbox one, где в 900р используется упомянутое выше сглаживание, от чего алиазинг в игре вообще отсутствует. На данный момент подобные техники это лучшее, чего достигли в индустрии. И используются они практически во всех ААА проектах.
А теперь вспомните, что речь о даунсемплинге изображения, которое все равно будет размыто. Информация и так будет потеряна, поэтому нет особой разницы, что там под этим размытием.
edd_k
>> Нет, учите матчасть. Хорошее сглаживание нынче это temporal AA с хитрыми эвристиками и фильтрами, что позволяет за счет предыдущих кадров добиться суперсемплинга.
Во-первых, temporal AA (TAA) вообще не имеет отношения к устранению лесенок. Разве что, по ходу дела в этом помогает.
А вот комплексное решение от nvidia:
TXAA anti-aliasing creates a smoother, clearer image than any other anti-aliasing solution by combining high-quality MSAA multisample anti-aliasing, post processes, and NVIDIA-designed temporal filters.
Т.е. это MSAA (хорошее сглаживание за счет рендеринга избыточного объема информации) + анти-алиасинг динамики объектов + какие-то окончательные штрихи. Т.е. это еще тяжелее чем просто MSAA.
>> Опять голословные утверждения. Почитайте про современные проекты. Я конкретно могу привести в пример Ryse
В Ryse:
«We do what is essentially MSAA. Then we do a lens distortion that makes the image incredibly soft (amongst other blooms/blurs/etc). Softness/noise/grain is part of film and something we often embrace. Jaggies we avoid like the plague and thus we anti-alias the crap out of our images.»
Т.е. опять же MSAA + что-то еще. Основа устранения лесенок без адского замыливания — это наличие избыточного объема информации. А как вы эту идею разовьете, что добавите и каким другим названием обзовете — это уже не играет роли.
А я имел ввиду, что уже после этого, т.е. после формирования кадра 1600х900, когда он растягивается до 1920х1080, уже никаких тяжелых методов не применяют. Разве что добавляют слегка мыла и поверх него — зернистости (т.е. легкие пост-эффекты, чтобы растягивание на 20% скрыть).
В нашем случае речь отнюдь не +20%. Тут растягивают на 200-300%, насколько я понял. И скрыть это без соответствующей нагрузки никак не выйдет. Ну или как выше предлагали — радиус размытия 10 пикселей и пусть в итоге получится просто цветное пятно ))
edd_k
А выглядит растянутый Ryse на XBOX хорошо небось по той причине, что многие другие игры на XBOX растягиваются вообще с 720p. И глаз, смирившийся с этим, восторгается не настолько мыльной растяжке с 900p.
mx2
Госспади, ну что мешает анизотропно фигачить выборку, зачем обязательно в ряд для четкой лесенки?
edd_k
Я не знаю, что мешает, но существенное и при этом незаметное глазу снижение разрешения рендеринга я пока что не видел. Хочешь нормальную картинку — будь добр отрендерить какой-то необходимый минимум информации. Любые «компромисы», существенно снижающие затраты, будут столь же существенно заметны.
В данном случае nvidia всего-лишь предлагает решение, но не дает оценок о том, на сколько и в каких играх оно будет приемлемо. Я предварительно оценил, что лесенки, предлагаемые в видео — для меня не приемлемы никак.
mx2
Ну так это как со сглаживанием, сначала был только суперсэмплинг и совсем печальные просадки производительности при высоких его значениях, потом начали выдумывать всякие SSAA, MSAA, CSAA, NFAA, FXAA, DLAA, MLAA, SMAA, TXAA… Пусть копаются, авось что родят.
Mad__Max
Где вы лесенки увидели? Во 2м примере (середина видео начиная с 31 секунды)?
Так это только самый первый этап обработки которого пользователь вообще видеть не будет — он нужен только чтобы подать его на вход следующему этапу конвеера. К тому же эффект специально значительно усилен/преувеличен для наглядности разницы о чем снизу соответствующая пометка стоит.
А наследующих этапе уже никаких лесенок не видно — только размытие/замутнение участков изображения не попадающих в фокус зрения. Который в настоящих очках ВР (где это это с 20-40 градусов при просмотре на мониторе растянется градусов на 100) попадет в область периферического зрения где глаза и так по любому только очень мутную картинку могут давать — видеть эти области четко человек физически не способен.
edd_k
«Эффект значительно усилен» — это касается полноразмерного видео, которое я даже побоялся смотреть, т.к. эффект значителен даже на уменьшенном встроенном видео. А на уменьшенном, полагаю, все близко к предлагаемому уровню снижения детализации. Не суть.
Сначала они рендерят меньше пикселей, а потом их сглаживают до сильно размытых, но тем не менее идеально ровных очертаний (на уменьшенном видео). Как по вашему — это дорого или нет?
Our testbed uses high-quality anti-aliasing techniques to ensure temporal stability in foveated rendering. We enable 8? multisample anti-aliasing (MSAA) and have implemented a TAA algorithm inspired by Unreal Engine 4 [Karis 2014], modified to work with all of the above techniques.
8хMSAA — это не SSAA, разумеется. Так что, экономию, по идее, получим. Какую — это и интересует меня (ведь помимо MSAA еще что-то делается). Не увидел в блоге и документе бенчмарков или хотя бы пару слов об этом. Т.е. во сколько раз быстрее рендерится грязная картинка и какой процент от высвободившихся ресурсов потом используетя для доведения ее до ума (ну или итоговый профит в сравнении с обычным подходом).
Но суть в том, что если вы видите режущие глаз квадраты, а потом бац — и идеально ровные линии/очертания (пусть и размытые), как на уменьшенном видео. То значит, что на этапе доведения до ума применялось не банальное размазывание, а добор недостающей информации. Для меня это очевидно, а вот схема их алгоритма очевидна не была и описана в новости тоже не была. На сайте уже позже прочел abstract — теперь прояснилось хоть в общих чертах.
Mad__Max
Я вот не побоялся в полном размере (HD на полный экран) посмотреть. И даже в 3Д (очков/шлема у меня нет — но такую стереопару можно просто глазами смотреть если уметь глаза отдельно фокусировать так чтобы каждый видел свою картинку).
Нет там никаких идеально ровных очертаний на периферии, то еще мыло и границы жирные и нечеткие. Относительная четкость от обратно даунскейлинга как раз появляется если в маленьком окошке смотреть.
Но вот если со всем этим мылом смотреть при этом только туда куда показывает красный квадратик (имитирующий трекинг положения глаз в этом примере) всего этого мыла на самом деле не заметно. Даже чудовищные лесенки из 1й стадии не сильно заметны оказываются — больше мешают не сами лесенки (в статике их практически незаметно если взгляд направлен куда показывает квадрат), а их мельтещение/мерцания при движении когда они начинают «бегать» по границам объектов и боковом зрением это замечаешь. Видимо поэтому и ТАА может оказаться очень эффективен.
creker
Могут предложить посмотреть на мультиплеер killzone shadow fall в качестве примера компромисса, который никто не замечал долгое время. Реальное разрешение в этом режиме 960x1080, но за счет чересстрочного рендеринга они комбинируют текущий кадр с предыдущим и получается как бы 1920х1080. Очень долго никто про это вообще не знал, а разработчики молчали. Совершенно случайно еле еле заметили на одном форуме.
Туже самую «уязвимость» человеческого мозга используют с прочими временными техниками. Когда сглаживание тем лучше, чем меньше движения на экране за счет смешивания предыдущих кадров. Во время активного геймплея глаз не видит, а как спокойно становится, то и сглаживание становится идеальным. Динамическое изменение разрешения тоже играет на это, от чего глаз точно так же практически ничего не замечает. Существенно заметно это все только на скриншотах под лупой, но не во время реальной игры.
creker
«Лесенки» это не оптимизация, а неизбежность любой дискретизации — в данном случае, непрерывные грани 3д моделей растеризуются в дискретный набор пикселей. Отказаться можно будет много от чего — упрощать рендеринг материалов, уменьшать разрешение текстур, детализацию моделей и т.д. Все то, что и так делается всякими лодами, когда объект вдали и пользователь ничего не подозревает даже. Только здесь не замечать все это позволит блюр и тот факт, что это периферическое зрение.
edd_k
У вас есть текстура 2048х2048. В ней же паровозом уже содержатся все ее уменьшенные версии: 1024, 512, 256, 128 и т.д. (не будем же мы каждый раз при использовании производить уменьшение).
Если вам надо наложить текстуру на близкий объект, 2D-размер которого составляет, допустим, 500 точек, вы выбираете либо текстуру на 512, либо на 1024. Если вы выберете текстуру 16х16 для этого, то что вы выиграете от растягивания ее до размера проекции объекта? Так зачем использовать уменьшенные текстуры на крупных объектах? Есть смысл использовать заранее уменьшенные текстуры на мелких объектах вдалеке. И это делается издавна. В контексте данной темы ничего не меняется.
Геометрия — это то, что действительно имеет какой-то потенциал в оптимизации. Уменьшенное количество полигонов в периферийной области немного снизит нагрузку. И то, только в тех сценах, где этих полигонов слишком много. Иначе вообще бестолковая затея. А вот расходы на это каковы? Насколько гармонично это удастся реализовать?
Ок, это все рассуждения. Но давайте вернемся к nvidia и их предложениям. Если вы ходили по ссылке в блог и читали субтитры в видео (в районе 00:40), то там так и написано: можем сэкономить за счет пикселей на пол экрана! А можем и не экономить (показывают дальше нормальное изображение).
Т.е.
— рендерить, к примеру, в 16 раз меньше пикселей — это значит получить соизмеримое снижение вычислительных затрат (и повышение дискомфорта пользователей, которые не совсем еще слепые).
— накладывать на крупные объекты мелкие текстуры — можно, но выхлоп стремится к нулю
— подсовывать низкополигональные модели — можно и даже нужно, когда общее их видимое количество в сцене слишком велико, иначе выхлоп хоть и не будет нулевым, но едвали порадует.
— и чуть не забыл — снижение сложности шейдеров тоже может дать выгоду
creker
Да филрейт не выиграем, но выхлоп от текстур это выигрыш в плане шины, по которой эти текстуры нужно будет гонять. Очень важная нынче вещь, когда разработчиками этой шины постоянно мало. Можете покрутить в играх настройки разрешения текстур и оценить, насколько это может сожрать производительность.
Кроме геометрии я еще упомянул упрощенный шейдинг. В современных играх таки сцены очень сложные и найти где порезать незаметные для периферии техники будет очень просто.
creker
Разрешение текстур еще важнее стало сейчас, когда в ходу физически корректный рендеринг с тоннами карт на каждый материал. Уменьшить их разрешение и выигрыш будет очень силен.
edd_k
Куда уменьшить? Мгновение назад вы смотрели прямо на них в полноценном их разрешении. Сейчас отвели взгляд — текстуры все еще в памяти. Выбрасывать? В следующее мгновение вы на них снова посмотрите. Это же не удаленные объекты.
Areso
Уши вроде тоже у всех людей плюс-минус одинаковые. Однако некоторые отличают невероятно глубину звука lossless в самом новомодном формате с битрейтом в десятки мбит/с по золотым кабелям… Но если делают и продают — значит это кому-то надо)
sumanai
И не отличают их от проволоки из вешалки.
antkatcin
Более того, этот стереотип даже поддерживать будут. Надо же кому-то будет продавать видеокарты за $1000. Тем не менее большинство устроит и такой «упрощенный» вариант.
RusikR2D2
Думаю, будет возможность выбора. Если компьютер достаточно производительный, то степень и область размытия можно будет настраивать по желанию, кому что.
ApplejackApple
>отличают lossless-аудио от mp3 и что последний — совешенно неприемлимо звучит
Но ведь это правда! Шаманы из «аудиомании» врать не будут же!
speakingfish
Насчёт loss/lossless:
Давно как-то спорил, что сгенерирую сигнал в котором все услышат отличие между исходным wav и сжатым с максимальным качеством mp3.
Сгенерировал сигнал из двух прямоугольных (или пилообразных — не помню уже) сигналов, плавно меняющих частоты.
Думал — все сразу услышат — оказалось, не совсем так.
Большинство, действительно, почувствовало разницу, но всё равно оставалась часть людей, её не слышащих.
Но! Выяснилось, что можно тем людям, которые разницы не слышат, рассказать, на что именно обратить внимание при сравнении этих записей. И тогда начинали слышать и они.
Stalker_RED
equand
Там проблема в понимании акустики еще. В клубе на 50кВт разница между 128 кбпс мп3 и вав не будет заметна.
Если тихо слушать. высокие частоты превращаются из каши в звук, а оттуда проблема. На мп3 128 их просто нет, качественных высоких.
coturnix19
На хороших наушниках (не про, но почти студийных, правда на встройке) я чувствовал разницу между lossless и лучшими мп3 вплоть до 192 кбпс но только на классической музыке, а на 224 уже скорее всего нет. Что же касается именно мп3, то няз его спецификация была очень свободная и определяла только как поток следует ДЕкодировать, оставляя широкую свободу относительно того как именно его следует сжимать, в результате многие ранние энкодеры были совершенно негодными и производили жуткий шум и писк на высоких частотах. С другой стороны, это создало полевозможностей для конкуренции между разными энкодерами что породило лейм и вообще многолетние холиворы и лулзы в 90х- начале 2000х
ApplejackApple
Ага, только вы знали, какой файл лослесс, а какой — нет. И я уверен, что слепой тест показал бы интересные результаты.
coturnix19
скорее я знал что большинство людей способны услышать разницу на битрейтах меньше 200кбпс. =Ж
amphasis
На самом деле до 192 кбпс обычно применяется joint stereo которое очень корежит фазы высоких частот. И это слышно даже на дешевых наушниках, если вы не глухой.
equand
Слепой тест нужно делать на шумах. С музыкой включается личностное восприятие и ты теряешь нить в потоках тонов.
Я заметил, что если трек нравится, то разницы 320кбпс или вав не заметно. Если же можешь отвлечься на прослушивание, то слышно отсутствие высоких выше 18кгц.
ustaspolansky
Вполне возможно схвачу кучу минусов, но:
— Взрослый человек подвержен прогрессирующей деградации слухового аппарата.
— Начинается это уже с 12-16 лет
— Привет золочёным проводам.
— Привет 96Khz после 30.
Jogger
Нет проблем! Я не против сверхдорогой техники для аудиофилов, пока я могу купить дешёвое оборудование, досаточное для меня. Так и с ВР — я не против, если будет премиум-сегмент для любителей незамыленной картинки, если при этом я смогу купить бюджетный вариант. Вообще, несказанно радует эта тенденция — хоть кто-то задумался об оптимизации, вместо того чтобы сказать «у вас просто устаревшее железо, что ж вы хотели — покупайте новое».