Клуб экспертов THG.ru

Клуб экспертов THG.ru (http://www.thg.ru/forum/index.php)
-   Видеокарты (http://www.thg.ru/forum/forumdisplay.php?f=24)
-   -   Обработка видео: nVidia Cuda vs. ATI Stream. (http://www.thg.ru/forum/showthread.php?t=61930)

Cameroon 21.07.2010 18:42

Обработка видео: nVidia Cuda vs. ATI Stream.
 
Вложений: 9
в очередной раз услышав сегодня про то, каким неоспоримым преимуществом видеокарт зеленого лагеря является технология CUDA (про Stream все равно никто никогда не вспоминает), решал проверить, насколько это релевантно.


N-Vidia CUDA

единственно известная мне "полезная" особенность (для меня как для домашнего пользователя) данной чудесной распиареной дальше некуда опции - это ускорение кодирования видео.
в полной мере пользоваться этим преимуществом, на сколько мне известно, может единственная программа:

Badaboom Media Convert

о программе:

- платная (20$)
- пробный период на 30 кодирований (на каждом перекодированном видеофайле будет "водяной знак" в левом нижнем углу)
- интерфейс простой, но банальный: складывается впечатление, что программа ориентирована на пользователей-идиотов, которые даже не имеют понятия о том, что такое "кодек", выбор настроек неумолимо скуден.






забег 1
эксперимент

суть эксперимента:

сравнить производительность кодирования при помощи CUDA с традиционным способом.


тестовый стенд:

- Windows Se7en x86 Ultimate
- Badaboom Media Convert 1.2.1
- Virtual Dub 1.9.7

- AMD Phenom II X4 955 BE @3.5Ghz

- Zotac GeForce GTX260 896Mb

программа подтвердила, что сможет воспользоваться возможностями CUDA:



ход эксперимента:


выбрал 4-гиговый видео файл высокого качества:


стадия 1.

перекодировал его с максимальными настройками качества при помощи Badaboom Media Convert:

до начала:

в процессе:

по завершении:


результаты:

получил файл mp4 размером чуть более 800мб.
время кодирования: чуть более 4 минут.

скачать оригинал (42мб)


стадия 2.

перекодировал его с максимальными настройками качества при помощи Virtual Dub 1.9.7 (кодек XVid):

до начала:

в процессе:

по завершении:


результаты:

получил файл avi размером 1000мб.
время кодирования: чуть более 5 минут.

скачать оригинал (63,5мб)


выводы:

да, CUDA действительно работает.

кодирование при помощи Badaboom Media Convert происходило полностью силами видеокарты.

НО! стоит обратить внимание, что Badaboom Media Convert платная и обладает нищайщим набором настроек. сегодня был второй раз когда я открыл эту программу (первый раз пробовал когда только-только променял АТИ на НВ и тестировал новую видеокарту), больше к этому УГ я не обращусь.

немаловажно то, что Badaboom Media Convert немного читерским образом кодировала видео, упростив себе работу, вдвое уменьшив фремрейт, поэтому тот факт, что кодирование по времени прошло на 1/5 быстрее нельзя считать чистой победой (тем более четко заметно падение качества из-за того, что видео идет рывками).


полезная ли CUDA? несомненно, да! но для того, чтобы ощутить ее прелести нам приходится терпеть ограниченность в функциональном софте.

сравним стоимость приличной видеокарты с CUDA (от 8 тыс руб) и достаточно мощного для кодирования видео процессора (от 4 тыс руб)... выводы за вами...

кодирование видео при помощи CPU я читаю в разы более выгодным по ряду выше озвученных причин, однако, как дополнительная приманка для покупки "зеленки", CUDA себя оправдала (не забываем, что у ATI есть свой эквивалент, поэтому приманка - не абсолютна).

аналог CUDA - ATI Stream используется в видео редакторе CyberLink Power Director, и уж поверьте, эта программа несравнимо более функциональна.


забег 2
кодирование при помощи MovAvi Video Converter.

отключенное ускорение:

процессором файл кодировался 30 сек:

__________________
включенное ускорение:

процессором вместе с CUDA файл кодировался 15 сек:

__________________
в одиночку без процессора CUDA смогла закодировать видео за 10 сек:


примечание: Badaboom Media Convert без CUDA не запускается, что, собсно, закономерно...

в конце-концов, CUDA позволила закодировать видео вдвое-втрое быстрее. NV приукрасила свои успехи, но "фишка" действительно успешно работает.


забег 3
кодирование при помощи MediaCoder.

прибавка чуть более, чем в полтора раза:

CUDA включена:


CUDA выключена:



__________________
ATI Stream

немного позже появилась возможность потестить Stream.

после немного спонтанного апгрейда конфигурация системы изменилась: чуть более мощный проц, новый чипсет, более производительная видеокарта, но дисковая система пока что во временном затхлом режиме.

к сожалению, те исходники, на которых я тестировал CUDA, у меня не остались, постарался сделать что-то максимально похожее: захватил видео Fraps'ом из Dirt2:
- первый прогон 30фпс (full-size) - 3,9гб.
- второй прогон 30фпс (half-size) - 1,4гб.

кодирование через Stream идет стандартными средствами ССС (драйвера 10.7a):
заморачиваться со сторонним софтом не пришлось, выбора настроек нет (кроме ползунка качества), зато можно выбрать разные форматы (чего нет у CUDA).


забег 1
эксперимент


кодирование через Stream первого файла (3,9гб):



время кодирования 1:28 мин. видеокарта задействована, но (судя по показаниям Afterburner'а) слабо, даже частоты поднимает только до средней ступени (у ATI 5*** в отличии от NV gt200 частоты 2D-3D меняются в три шага, а не в два: 157 -> 550 -> 725 по ядру в дефолте).


кодирование этого же файла через процессор с теми же настройками, что и при прогоне CUDA:


итог: Stream оказался в 4 раза быстрее.

__________________
затем смягчил условия: прогон при тех же настройках второго файла меньшего объема (разрешение картинки вдвое меньше):



он же через процессор:

итог: здесь процессор, почему-то, оказался быстрее.

__________________
Stream позволяет кодировать не только в H.264 (повторюсь, CUDA этого делать не может теми средствами, которые я пытался проверить), и это действительно работает:




забег 2
еще разок прогнал Stream на дровах 10.10 с установленным SDK и AVIVO.

__________________
таким же образом захватил видео в FullHD 30 кадров в секунду из игры MOH 2010. кодировал видеокартой в H.264 при максимальном качестве:


это заняло 1:33:


__________________
он же процессором на 4 ггц:


по времени 4:38:


__________________
оба раза конечный файл получался на ~ 210 мб, разница в скорости кодирования почти трех-кратная.

__________________
но самое интересное в том, что качество перекодированного через процессор видео значительно превосходит онное, кодированное видеокартой...

качество GPU: ----------- качество CPU:



выводы:

что ж, достойный конкурент у CUDA есть. сказать наверняка кто из них выгоднее - сложно, уж больно все это мутно и запутано...

Stream в моем маленьком тестировании дает не совсем прозрачные результаты, но гораздо более приветлив к пользователю, чем CUDA.

что бы я выбрал? ответ не изменился: я выбирают CPU, как самый надежный, функциональный и "простой" кодировщик.

prudovik 21.07.2010 19:03

Cameroon, Есть еще бесплатный MediaCoder, который перекодирывает как с помощью CPU, так и с помощью CUDA, можно поиграть с настройками.
Но я не стал бы забывать, что и Радеон может перекодировать видео (есть такая закладка в Каталисте).

Cameroon 21.07.2010 19:15

Вложений: 1
Цитата:

Есть еще бесплатный MediaCoder
ммм... какой дружелюбный интерфейс... :)
Вложение 9709

ViJey 21.07.2010 20:26

Есть еще Movavi Video Сonverter, правда я не заметил разницы во времени кодирования при включенной/отключенной Cuda, хотя и видно, что процессор был загружен по-разному...

Artem.Russian 21.07.2010 20:35

Цитата:

Сообщение от Cameroon (Сообщение 976822)
НВ будет "жмотить" каждую свою (а часто и не свою, а чужую перекупленную) технологию, мое уважении к этому брэнду не вернется.

интересный вывод... (think)

Скаут 21.07.2010 20:59

Цитата:

Сообщение от Cameroon (Сообщение 976822)
в очередной раз услышав сегодня про то, каким неоспоримым преимуществом видеокарт зеленого лагеря является технология CUDA (про Stream все равно никто никогда не вспоминает), решал доказать вам, что это ни разу и не преимущество.

ну дык понятно, что в домашних условиях CUDA применяется максимум для кодирывания видео прямо скажем не через самый лучший конвертор бадабум (сам его юзал), и нескольких играх.
Но тыж не проверял прирост с CUDA в спец приложениях, в которых видяшки с поддержкой CUDA во всю трудятся, расчитывая движение молекул, моделирование клеток. создание спецэфектов для фильмов и т.д. и т.п.

prudovik 21.07.2010 21:04

Цитата:

Сообщение от Cameroon (Сообщение 976869)
ммм... какой дружелюбный интерфейс... :)
Вложение 9709

Ну ... это на любителя:D
Мне больше нравится такой

Cameroon 21.07.2010 21:07

Цитата:

Сообщение от Скаут (Сообщение 976959)
ну дык понятно, что в домашних условиях

ты в домашних условиях занимаешься этим:
Цитата:

Сообщение от Скаут (Сообщение 976959)
расчитывая движение молекул, моделирование клеток. создание спецэфектов для фильмов и т.д. и т.п.

что-то мне подсказывает, что нет. следовательно, такое ли CUDA преимущество, как об этом все говорят?

Цитата:

Сообщение от prudovik (Сообщение 976962)
Мне больше нравится такой

мне тоже, но CUDA она не использует. (и у меня почему-то unknown error 17 выдает вместо того, чтоб начинать кодирование)

Скаут 21.07.2010 21:16

Cameroon, Ты мое сообщение читал вообще, я что сказал что на CUDA молиться надо?
Я всеголиш сказал что CUDA применяется по большей части в инженерии, медицине и кино, и еслиуж на то пошло для этого оно и создавалось, а потом ее прикуртили к играм для просчета физики.
Цитата:

Сообщение от Cameroon (Сообщение 976967)
такое ли CUDA преимущество, как об этом все говорят?

Для обычных пользователей нет, а вот для тех кто занимается этим:
Цитата:

Сообщение от Скаут (Сообщение 976959)
расчитывая движение молекул, моделирование клеток

есть и большой.

bigg_daddy 21.07.2010 21:27

Cameroon, ППЦ сравнение. Badaboom Кодирует в h264, а virtual dub в xvid. в h264 ЦП кодирует еще медленнее.

mision 21.07.2010 22:07

http://www.nvidia.ru/object/cuda_app...tml#state=home

http://www.overclockers.ru/hardnews/...z_bystree.html

Cameroon 21.07.2010 22:35

Вложений: 1
mision, опять же, ничего общего с потребительскими качествами из этого я не вижу.

ViJey - кодирование того же самого видеофайла в H.264 с помощью CUDA заняло все те же самые 5 мин 10 сек (столько же, сколько в Xvid). процессор был загружен на 60-70%, видеокарта - на 15-20%.

черт, только что заметил, что размер этого файла - 2,5 гига, что в 50 раз больше, чем на двух вариантах из стар-поста, и в 10 раз больше, чем исходный файл...

mision 21.07.2010 22:39

Cameroon, я незнаю как вы там обрабатывали ,но обработка видео по сравнению с процом через бадабум примерно в 10 раз быстрее...!на 295 --480 ядер (в тесте из журнала)..

Cameroon 21.07.2010 22:49

mision, если ваша 250ая скодирует видео через бадабум в 10 раз быстрее, чем четырех-бошковый проц, то я удалю эту тему.

уже давно видел все эти циферки (параллельные вычисления в 1000 раз быстрее и бла-бла-бла) на сайте НВ. но все, что я проверяю собственными руками этого не подтверждает.

возможно, для такого сильного ускорения кодирования нужен дисковый массив из десятка рапторов, я уж не знаю... но тогда это уж тем более абсолютно перечеркивает полезность CUDA для домашнего пользователя.

mision 21.07.2010 22:51

Cameroon, ради интереса попробую...что за вишка и если от неё толк?и вопрос 30 дневная версия бады не урезана?


Часовой пояс GMT +4, время: 07:02.

Работает на vBulletin® версия 3.6.10.
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Перевод: zCarot