User avatar
apk
Posts: 14
Joined: Wed Nov 23, 2011 10:00 am
PC Specification: @signature

Low quality CUDA encoding

Wed Nov 23, 2011 10:17 am

Found that CUDA-enabled encoding is just horrible. It is really fast and useful in some scenarios (like desktop video capture), but when it comes to games - CUDA destroys all details except text.
Here's an example:
CUDA OFF:
Image
CUDA ON:
Image

Encoding settings are identical in both cases:
Image
Phenom II x4 @3.4GHz, 8GB RAM, Geforce GTS450 1GB
Windows 7 Ultimate 64bit

User avatar
vivan
Expert User
Posts: 193
Joined: Sat Dec 19, 2009 10:56 am
PC Specification: Acer Aspire TimelineX 3830TG
Location: St. Petersburg, Russia

Re: Low quality CUDA encoding

Thu Nov 24, 2011 9:34 am

That's because GPU video encoding is just marketing. They are not capable of using all advanced algorithms that software encoder can use.
So they are fast, but have quality like mpeg-2.
Intel QuickSync is a bit better (in speed and quality) but still software encoders blow it away.

For instance, x264 has preset that has equal speed and quality. Guess what? It called "ultrafast".
Desktop (Intel i7-970, ATI 5870, Windows 7 x64)
Acer Aspire TimelineX 3830TG (Intel i5-2410M, nVidia GT540M, Windows 7 x64)
PS Vita, Nokia N8

User avatar
Carpenter01
Posts: 31
Joined: Wed Nov 16, 2011 9:21 pm
PC Specification: i5 750 @4Ghz, R9 280X @1,1Ghz, 8GB DDR3

Re: Low quality CUDA encoding

Thu Nov 24, 2011 5:30 pm

I dont have this problem, even on youtube, it has almost perfect quality. http://www.youtube.com/watch?v=ZZmHM8fFxPU

I can barely notice the difference between the raw video, and the rendered MP4.

yic17
Posts: 14
Joined: Sun Nov 20, 2011 7:53 am
PC Specification: Windows 7 / Intel i7 2.0 / GT555M

Re: Low quality CUDA encoding

Thu Nov 24, 2011 5:33 pm

Good to know .. I better try it out myself and see if there's any difference ..

User avatar
apk
Posts: 14
Joined: Wed Nov 23, 2011 10:00 am
PC Specification: @signature

Re: Low quality CUDA encoding

Thu Nov 24, 2011 8:39 pm

Carpenter01 wrote:I dont have this problem, even on youtube, it has almost perfect quality. http://www.youtube.com/watch?v=ZZmHM8fFxPU
I can barely notice the difference between the raw video, and the rendered MP4.
NFS (and most of other car-sim games) are technically a scroller-type games. Most of the image you see is changing linearly and has low dynamic. That is why by complexity it can be compared to desktop recording. And this type of tasks are ok for CUDA encoding.

But try to encode some (MMO)RPG-type games where the content of image is changing intensively and randomly (walking and turning the camera around at the same time) and you will see that CUDA-encoder can't handle it the same way as software encoder does.

Check these example files of MMORPG gameplay encoded with and without CUDA acceleration:
CUDA OFF
CUDA ON
(each file is ~9MB size)
Higher resolution makes the difference even more noticeable.
Phenom II x4 @3.4GHz, 8GB RAM, Geforce GTS450 1GB
Windows 7 Ultimate 64bit

User avatar
Nielo TM
Expert User
Posts: 86
Joined: Sun Jun 27, 2010 2:30 pm
PC Specification: E8200 -ATI 5450/5770 - Windows 7 (x64)

Re: Low quality CUDA encoding

Thu Nov 24, 2011 10:56 pm

vivan wrote:That's because GPU video encoding is just marketing. They are not capable of using all advanced algorithms that software encoder can use.
So they are fast, but have quality like mpeg-2.
Intel QuickSync is a bit better (in speed and quality) but still software encoders blow it away.

For instance, x264 has preset that has equal speed and quality. Guess what? It called "ultrafast".
GPU video encoding is much faster than CPU encoding and has the ability to provide higher efficacy. But it's not easy developing software to run on parallel processors.

It is why the adaptation of OpenCL, DirectCompute and CUDA have been slow.

User avatar
Carpenter01
Posts: 31
Joined: Wed Nov 16, 2011 9:21 pm
PC Specification: i5 750 @4Ghz, R9 280X @1,1Ghz, 8GB DDR3

Re: Low quality CUDA encoding

Sat Nov 26, 2011 2:21 pm

apk wrote:
Carpenter01 wrote:I dont have this problem, even on youtube, it has almost perfect quality. http://www.youtube.com/watch?v=ZZmHM8fFxPU
I can barely notice the difference between the raw video, and the rendered MP4.
NFS (and most of other car-sim games) are technically a scroller-type games. Most of the image you see is changing linearly and has low dynamic. That is why by complexity it can be compared to desktop recording. And this type of tasks are ok for CUDA encoding.

But try to encode some (MMO)RPG-type games where the content of image is changing intensively and randomly (walking and turning the camera around at the same time) and you will see that CUDA-encoder can't handle it the same way as software encoder does.

Check these example files of MMORPG gameplay encoded with and without CUDA acceleration:
CUDA OFF
CUDA ON
(each file is ~9MB size)
Higher resolution makes the difference even more noticeable.
Notice that this isnt my only video, i have over 150 videos, (some unlisted) and I havent experienced any kind of this degradation. I used Fraps, Afterburner, Asus Gamer OSD, and now Action. My Youtube Channel

User avatar
vivan
Expert User
Posts: 193
Joined: Sat Dec 19, 2009 10:56 am
PC Specification: Acer Aspire TimelineX 3830TG
Location: St. Petersburg, Russia

Re: Low quality CUDA encoding

Wed Nov 30, 2011 5:32 pm

Carpenter01 wrote:I dont have this problem, even on youtube, it has almost perfect quality. http://www.youtube.com/watch?v=ZZmHM8fFxPU

I can barely notice the difference between the raw video, and the rendered MP4.
Are you kidding?
And that's 1080p downscaled to 1366x768 (I'm too lazy to download full video to make fullsize screenshot). Everything is blocky and blurry as hell.
Nielo TM wrote:GPU video encoding is much faster than CPU encoding
proof?
http://compression.ru/video/codec_compa ... arison.pdf starting from page 99.
x264 with "ultrafast2" preset is fastest there. "superfast 1-pass" has same speed and quality that Intel QS encoder.
And CUDA is even slower and has even worse quality...
And imagine speed of 6-core intel CPU 8-)
Nielo TM wrote:and has the ability to provide higher efficacy.
In video encoding "efficiency" is quality/bitrate. Hardware encoders are worst here, since software encoders could provide same quality at much (2x-4x) smaller bitrates.
Nielo TM wrote:But it's not easy developing software to run on parallel processors.
It's not the main problem. The main problem is GPU's architecture which is very ineffective for any compression.
In short: GPU has a lot of cores, that could do only one simple task with different data. E.g. multiplication of hundreds of matrices. But that's not what video encoding requires! For adequate quality it should use complex algorithms that GPU's couldn't run effectively because of its architecture. So only very basic algorithms are avaivable for GPU, that results in low quality. And there is not much to do with that.

GPU is like factory with thousand of stupid workers. That do everything using only their hands, they can't do complex task and they all can be trained to do only one task. So product quality is low. But since there are thousand of them - productivity is high.
CPU is like factory with 4-10 robots. They can do any task, than can work wery fast and with very high precision. So they can produce same product with the same low quality with the same productivity OR high-quality product with much lower productivity.

Still h/w is ok for encoding video for portable devices, but it shouldn't be used for final video encoding for video distribution (It is just disrespecting people that would download your video).
E.g. youtube use it for encoding their video. Now you now why they has such horrible quality ;) And they are developing WebM, that has even lower quality at even bigger bitrate (I've tested couple months ago - for same video WebM version has +30% bitrate and lower quality).
On the other hand check vimeo... On the same video it has -20% bitrate and has much better quality.

But one of x264 dev's (DS) works with intel (but because of NDA he can't say much) and they are improving intel QuickSync hardware (= new chips, not software), so in future intel CPU's it should be a lot better (but still far from x264).
Desktop (Intel i7-970, ATI 5870, Windows 7 x64)
Acer Aspire TimelineX 3830TG (Intel i5-2410M, nVidia GT540M, Windows 7 x64)
PS Vita, Nokia N8

User avatar
Carpenter01
Posts: 31
Joined: Wed Nov 16, 2011 9:21 pm
PC Specification: i5 750 @4Ghz, R9 280X @1,1Ghz, 8GB DDR3

Re: Low quality CUDA encoding

Thu Dec 01, 2011 7:34 am

vivan wrote:
Carpenter01 wrote:I dont have this problem, even on youtube, it has almost perfect quality. http://www.youtube.com/watch?v=ZZmHM8fFxPU

I can barely notice the difference between the raw video, and the rendered MP4.
Are you kidding?
And that's 1080p downscaled to 1366x768 (I'm too lazy to download full video to make fullsize screenshot). Everything is blocky and blurry as hell.
Because its from youtube, which downgrade every videos no matter how high the original quality was.

But here's an other video, again this is youtube, so it wont be perfect.
http://www.youtube.com/watch?v=315EkHh6ZiY

Return to “Action! Screen and Game Recorder”

Who is online

Users browsing this forum: No registered users and 7 guests