Двухпроходная интерполяция [Готово]

Автор V0lt, 04 сентября 2016, 15:04:28

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

V0lt

В планах заменить текущую однопроходную шейдерную интерполяцию на двухпроходную.
Двухпроходка используется в madVR, MPDN. Ее "тестируют" в PotPlayer. За основу будут взяты шейдеры из тестовых сборок MPC-HC от JanWillem32.

Суть двухпроходной интерполяции в том, что изменение размера кадра происходит в два этапа. Сначала изменяется ширина, а затем - высота.
При правильной реализации качество двухпроходной интерполяции ничем не отличается от однопроходной.

Преимущества:
1. Правильное масштабирование анаморфного видео, когда по одной координате размер увеличивается, а по другой уменьшается.
2. Меньшая нагрузка при масштабировании лишь по одной координате (у нас эта фича пока не используется).
3. В целом двухпроходная интерполяция обычно дает меньшую нагрузку.

Недостатки:
1. Повышенное потребление видеопамяти.

Тестовые билды: ССЫЛКА.

PS: Оценивать нагрузку на картах Nvidia следует после того, как частота GPU перестанет изменяться (примерно через 10-20 секунд). Как правило, если установившаяся частота выше, то и реальная нагрузка также будет больше.

Aleksoid1978

В данный момент какие проблемы с реализацией ??
Повышение потребление видеопамяти - на сколько ??

А по поводу нагрузки - не только на Nvidia но и на AMD частота поднимается при старте и опускается(если надо) после.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Цитата: Aleksoid1978В данный момент какие проблемы с реализацией ??
Особых проблем нет. Исчезнет метод Perlin Smootherstep, и память побольше скушаем.

ЦитироватьПовышение потребление видеопамяти - на сколько ??
высота кадра * ширина экрана * 8
Я не измерял, но по прикидкам для FullHD видео на мониторе 1920x1080/1200 дополнительно скушаем 15,8 МБ видеопамяти.
[merge_posts_bbcode]Добавлено: 2016-09-04 16:48:49[/merge_posts_bbcode]

Быстрый тест.
Видео 1920x804, экран - 1680x1050.
Рабочий стол (AERO, браузер, неиграющий плеер) - 218 МБ видеопамяти
1-проход - 320 МБ
2-прохода - 332 МБ
[merge_posts_bbcode]Добавлено: 2016-09-04 21:04:51[/merge_posts_bbcode]

По скорости хорошо видно разницу на дополнительном дисплее.
Видеокарта Intel HD 4000, 1920x1080. Видео 720x576 25 fps, софтовое декодирование.
рабочий стол: 0% (350 МГц), 0 Вт, 65 МБ.
1-проходка: 24% (350/650 МГц), 1,7 Вт, 89 МБ.
2-проходка: 18% (350/650 МГц), 1,0 Вт, 97 МБ.

Aleksoid1978

AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt