1

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

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

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

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

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

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

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

2

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

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

А по поводу нагрузки - не только на Nvidia но и на AMD частота поднимается при старте и опускается(если надо) после.

I7 2600K@4.2 / Asrock P67 Extreme 4 Gen 3 / Kingston HyperX 8Gb 1866 (4x2) Kit / GIGABYTE GTX 960 / BenQ EW2430 / LG 47LM620T / Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

3

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

Aleksoid1978 пишет:

В данный момент какие проблемы с реализацией ??

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

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

высота кадра * ширина экрана * 8
Я не измерял, но по прикидкам для FullHD видео на мониторе 1920x1080/1200 дополнительно скушаем 15,8 МБ видеопамяти.

Добавлено: 2016-09-04 16:48:49

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

Добавлено: 2016-09-04 21:04:51

По скорости хорошо видно разницу на дополнительном дисплее.
Видеокарта 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 МБ.

4

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

Нет проблем - внедряй и все.

I7 2600K@4.2 / Asrock P67 Extreme 4 Gen 3 / Kingston HyperX 8Gb 1866 (4x2) Kit / GIGABYTE GTX 960 / BenQ EW2430 / LG 47LM620T / Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

5

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

Сделано в r1885.