Friday, January 13, 2006

QuickTime H.264 encoding is very slow on Intel Macs

According to this MacAddict forum post, Apple still has a LOT of optimization to do for QuickTime on Intel Macs, despite having more than than half a year to optimize for Intel. The recently released Intel dual-core Macs appear to be slower than even a Mac mini for H.264 encoding:

70 s, Mac Mini G4 1.25
35 s, iMac G5 1.8
94 s, iMac Intel Core Duo 2.0

If these numbers are accurate (and if it's true that QuickTime is already OS X Intel native), one wonders how much of this poor performance is due simply to lack of optimization, and how much is due to the actual capabilities of SSE (vs Altivec).


ms said...

I wonder how fast encoding is on Windows machines? Is it just because Quicktime on OSX is now optimized yet (I hope).

Anonymous said...

Of slight concern to me is the almost sarcastical approach to SSE in the Apple Developer docs dedicated to assisting the transition from Altivec to SSE - it almost sounds as though they know full well that (at least current) SSE instructions are inferior to Altivec. Not promising!
It's also interesting that after years of hearing how good Velocity Engine is Apple appear to be making no reference to the poorly named 'Digital Media Boost' SSE implementation in the Core Duo.

Anonymous said...

I'm pretty sure it is just and SSE thing. I've heard Apple engineers mention that SSE2/SSE3 was about 2-3 times slower than the current Altivec implementation

Dave said...

And this is where the harsh truth comes to be seen.

The loss of Altivec is enormous and will be felt especially hard in CPU intensive operations such as H.264 encoding. I do a lot of Altivec optimizations while our PC guy does SSE2/3 optimizations and Altivec easly outperforms SSE2/3 by 2-3x, usually though it's more like 3-4x. This is comparing the fastest PPC Mac you can get to the fastest x86 PC.

Having Dual-core CPUs in both the Intel iMac and PowerBook (I refuse to call them MacBooks) product lines will help things as the transition moves forward. But anything that's been optimized well for Altivec (QuickTime, Photoshop, etc.) will suffer and there's really not anything that can be done about it.