No longer in 10.6.įorcing QuartzGL has very little effect, based on the quick tests I've done. In the former, it just requires a change in a text file within the App bundle. QuartzGL is enabled on a per-application, or even a per-window, basis.
GDI has hardware acceleration on Windows 7? Do you have a link explaining how it works? I though HW accelerated drawing in Vista/7 required the new APIs, WPF, Direct2D. Apple, MS and others are into GPU accelerated-web content, and Adobe will have to follow if they want to remain a credible alternative on the mobile space, IMO. (EDIT: curse you, lookmark!)Īll in all, I'd be more interested to know if/how Adobe intends to use the GPU (openGL/D3D) for animated content. Webpages will have to be updated to take advantage of this though. There's a pretty convincing demo on Adobe's site. In Flash 10.2, Adobe will introduce "Stage Video", which will move display operations to the GPU and bring Flash to optimal playback performance. Now, there is the fact that most operations, beyond decoding, are performed on the CPU, while these operations are performed on the GPU in Safari's HTLM5 implementation. I haven't had the opportunity to compare. I'm not sure if it makes Flash as efficient as on IE (ActiveX). This allows flash videos to be significantly more efficient on Safari under 10.6, compared to Chrome or Firefox. There is some new plugin architecture used in Snow Leopard that rely on Core Animation (mostly used by Safari). Peter, some Adobe engineer explained on his blog some issues that Flash faces on OS X, related to the drawing API (Quartz, Quickdraw, Core Animation) and which greatly affect performance. Apple has tried to develop such acceleration (QuartzGL), but to the best of my knowledge, it's still not enabled by default, and I don't know if it'd accelerate the operations that Flash is performing anyway.
Windows 7 uses extensive hardware acceleration for the GUI (including bitblt)-it doesn't matter if Flash is using GDI, Direct2D, or Direct3D, it's all hardware accelerated.
Rather, I think that Windows' GUI subsystem is simply quicker than Mac OS X's.
I don't see any reason to believe that Flash on the two platforms is written differently-I don't believe that the Windows version is taking serious shortcuts or optimizations that the Mac OS X version isn't, and I don't believe Adobe wants the Mac OS X version to have this performance deficit. It appears that for some reason, Quartz is just really slow at this kind of bitmapped task. So when it comes to dumping frames onto the screen, Windows is doing it a lot more efficiently.
I cannot imagine that Adobe would use different decompression code on each platform, so that just leaves drawing the frames themselves. After all, there's not much else to video decoding-you decompress the frames, and you put the frames on-screen. In other words, a load of dumb bitblting, possibly with some interprocess communication (depending on the plugin model). The only difference between the Mac OS X and Windows versions will be blasting those uncompressed frames onto the screen.
As such, I don't think we're seeing any platform-specific optimizations here it's just a software decoder that Adobe has written. This is why Flash 10 uses so much more CPU time on Winodws than 10.1-10.1 is offloading to the video card, 10.0 is not.Īnd yet,Flash 10 scores for the Windows machine are still better, in spite of the Mac being faster hardware. This means that Flash 10.1 has fairly complete DXVA acceleration in Windows-notice how it's faster than HTML5-but we are, I believe, still waiting for an equivalent on Mac OS X.īut Flash 10 doesn't use DXVA (I believe). The hooks to allow hardware acceleration have been around for longer in Windows than in Mac OS X (DXVA made its debut with Windows XP, but I think it took until 10.6.2 for Apple to document something roughly equivalent). I think what we're actually seeing is naive animation code running much better on Windows than Mac OS X.įor video specifically, there is scope for platform-specific optimization. I don't believe that it is "platform optimization", as such. With Flash 10.0, CPU utilization was at 37.41% and with Flash 10.1, it dropped to 32.07%Īnd yes I am very carefully cherry picking from that article, and I also don't necessarily trust the testing done for the article. With Safari, HTML5 was the most efficient and consumed less CPU than Flash using only 12.39% CPU.