After Effects CS5
Recall from the last page that the fastest time we had for our custom workload under After Effects CS4 was 2:55 with six cores active, multiprocessing enabled, and no Hyper-Threading. Achieving this effectively redlined the CPU. In After Effects CS5, this is nearly our slowest score (the difference between 2:55 and 3:00 being negligible), and it was achieved with only two cores, no multiprocessing, and no Hyper-Threading. Interestingly, the same settings under CS5 yielded a CPU utilization range of 66 to 80 percent.
We see that CS5 does not share CS4's revulsion for Hyper-Threading. Apparently, HT delivers more benefit when fewer physical cores are present, but at least there’s no significant negative impact from having it enabled. Neither do we see CS5 delivering that weird CS4 phenomenon of hammering performance when both HT and multiprocessing are enabled.
We have a hard time imagining many dual-core Intel owners rushing out to buy CS5, so if we set those results aside momentarily, we’re left with the fact that there’s no real benefit from Hyper-Threading here. Yes, there can be a slight gain from HT, but not enough to warrant a processor upgrade. This is clearly a case where increasing physical cores is what matters.
Weirdness starts to reappear when we examine CPU utilization. Time and again when working with the CS5 collection, we witnessed fewer cores working harder. It was like watching a track star say, “You know, I’ve got 12 threads, and I’m so far ahead, I think I’ll just take it easy.” At first, we thought the explanation must harken back to Chris’s earlier CS4 assessment in which more cores are being forced to work with smaller shares of the total RAM pool, even though we jumped from an effective 4 GB to 12 GB. However, we got another answer from Nvidia technical marketing manager Sean Kilbride:
“A lot of it is timing related. Video encoding in particular has a lot of serial operations. You need the result of one frame before you can move to the next. This is generally because encoders create a keyframe which has all the frame information. Frames that follow only record the portion of the frame that has changed since the last keyframe. If too much has changed, you have to create a new keyframe.
So the processors can never work too far ahead, since they rely on the keyframes to be created first. In theory, encoding to an uncompressed format could go very quickly on the CPU with multiple threads as long as each frame was a keyframe. In reality, you'd end up crippled by disk I/O because of the resulting massive file size.”
That all said, we’re glad to see multiprocessing making effective use of the CPU in order to bring work times down.
Overall, we’d say that the best bang for the buck in AE CS5 is a quad-core with HT and multiprocessing enabled. This delivers most of the chip’s potential performance while still leaving loads of available processor bandwidth for other tasks.
We have not examined CUDA acceleration in these After Effects tests because Adobe has yet to code for it. The application does support OpenGL acceleration, which we used across the board, but that’s different than the GPGPU boosting we wanted to examine here.