Page 1 of 1

No Hardware Acceleration on AMD GPUs?

Posted: Wed Apr 04, 2012 4:12 am
by IndigoAK
Does Action! not support hardware acceleration during export on AMD GPUs? The option to select it is greyed out for me even though I have a GPU that supports it (a 1GB HD5870). Is there a setting I'm missing somewhere?

I really like this app, but if this isn't supported, it's kind of a deal breaker (the snail's pace export speed isn't ideal either, but I can live with that).

Re: No Hardware Acceleration on AMD GPUs?

Posted: Thu Apr 05, 2012 9:33 am
by lostprophet
Correct me if I'm wrong, but Action! only supports CUDA and that's for Nvidia cards.

Re: No Hardware Acceleration on AMD GPUs?

Posted: Fri Apr 06, 2012 12:54 pm
by vivan

Re: No Hardware Acceleration on AMD GPUs?

Posted: Fri Apr 06, 2012 9:45 pm
by IndigoAK
Unfortunately, this means that I will be looking for other software.

Action! already takes ten and a half hours to convert half an hour of video and the inability for that to be improved by making use of my GPU is something I simply can't ignore.

Re: No Hardware Acceleration on AMD GPUs?

Posted: Sat Apr 07, 2012 9:21 am
by vivan
2.8 fps (if video was 60 fps)? Its very slow even for 1080p on slow cpu.
What were your settings? If you very using "high" for video quality - try using "normal". On my 12-threads CPU first mode uses only one thread - so it's extremly slow. "Normal" uses all threads - so it's much faster.

GPU wouldn't help at all - yes, it's fast. But it also has worst quality. And even best h/w (Intel QuickSync) is on pair with software encoder x264 with veryfast preset. CUDA is slower and has worse quality, AMD is even slower and even worse...

Re: No Hardware Acceleration on AMD GPUs?

Posted: Sat Apr 07, 2012 9:41 am
by IndigoAK
That doesn't make any sense. Why would they purposely limit higher quality encoding to a single core versus encoding using multiple cores at a lower quality? If this is true, it's actually another reason I should be looking at other software since it seems like an illogical limitation.

Also, quality depends on the codec. NVIDIA PureVideo and AMD AVIVO don't actually offer encoding or decoding, their purpose is simply to offload instructions to the GPU to speed up the process.

Re: No Hardware Acceleration on AMD GPUs?

Posted: Sat Apr 07, 2012 10:41 am
by vivan
IndigoAK wrote:That doesn't make any sense. Why would they purposely limit higher quality encoding to a single core versus encoding using multiple cores at a lower quality? If this is true, it's actually another reason I should be looking at other software since it seems like an illogical limitation.
It's not limitation... It's nonoptimality.
I think that they are using some algrotihm that is not multithreaded, but produces higher quality. Through this is not excuse - x264 uses better agorithms and is highly scalable.
Anyway, "high" video quality mode isn't much better, so try "normal".
IndigoAK wrote:Also, quality depends on the codec. NVIDIA PureVideo and AMD AVIVO don't actually offer encoding or decoding, their purpose is simply to offload instructions to the GPU to speed up the process.
Nope.
As for decoding. All modern GPU have special chip (ASIC) for this purpose. That's because video decoding using GPGPU (at acceptable speeds) is just impossible (because of GPU architecture). And that's why:
1) Decoding speed depends on this chip generation (e.g. nvidia has VP1-VP5, ati - uvd-uvd3), not overall GPU speed.
2) Supported codecs also depends on it. So no reason to wait for Hi10p and WebM support on current GPU's.
3) Intel QuickSync is damn fast (even faster that software decoding!), while it's slow as GPU.
4) And so on.
As for encoding. Intel has have ASIC, other using GPGPU for it. But, because of GPU architecture it's impossible to use algorithms that software encoding uses. And partial acceleration also doesn't make sense (GPU can speedup something, but due to turtle VRAM -> CPU cache transfer speed it would be slower).
A little more about GPU architecure. It has a lot of shader processors... But big groups of them could do only 1 task (with different data). E.g. if your code has condition ("if"), than this processors would do both code blocks (and than discard "false" block). Imagine what would happen if you have code with lot of conditions... That why GPU are only suitable for "linear" code. So GPU in not just CPU with thousand threads.
So, GPU's have to use special algoritms. And they are very primitive. And that's not because stupid people wrote them, that's because GPU are stupid comparing to CPU, but really fast.
And that results in GPU video encoding speed and quality - high speed, low quality.
But software can also use fast algorithms! So it could do both fast speed@low quality and slow speed@high quailty encoding. But that applies only for good encoders like x264... As for Action! I'd say that it has medium speed@medium-low quailty.
As Action! good as screen recorder, it as bad as video encoder =/ But soon things would change - as I know DirectShow (or vfw) decoder for .FIC is planned, or, at least, exporting in uncompressed format - so it would be possible to use other encoders.

P.s. Intel QuickSync is ASIC, not GPGPU-based, it beats GPGPU encoding, but still has low quality. nVidia also introduced ASIC video encoder (nvenc) in new videocards, guess why ;).