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
.