Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I'm saying Adobe should have rewritten Flash Player in Cocoa 5+ years ago. Then they wouldn't be in this boat with regard to performance.

You need to be more specific about performance? What are you talking about exactly that is so bad? Actionscript performance? Rendering Performance? Video Playback? Fact is Video Playback is where you really can tell the difference in terms of CPU usage, but there are a lot of areas where the CPU usage is comparable and has been for some versions ( Not every where mind you but it is certainly not as bad as your making it seem ).

In order to have full Cocoa support, the whole player has to be rewritten in Cocoa. The fallbacks are non-Cocoa, just like the Windows version is non-Cocoa.

LOL! The whole player does not leverage the Cocoa API's that feat would be technically impossible in the short time span between releases... LOL! They Cocoa-ized the Flash Player to use Cocoa to solve certain technical aspects regarding performance on the mac. Again to re-iterate Adobe is not making a bunch of NS calls to draw stuff on the screen, but they do use a lot of cocoa code to aide the AVM's in their graphics processing and execution just like in Windows.

Absolutely right, but some people would have you believe that this isn't because Adobe allowed it to happen, but because their hands were tied.

They weren't. They chose not to invest resources for the Mac platform, as is their right to do. But when they got called on it, fingers are being pointed toward Mozilla and Apple and all over the place except in the mirror. When Windows got a major rewrite of the graphics frameworks in Vista, Flash was updated to take advantage of it in less than a year.

When the same happened on OS X, it took Adobe more than eight years to do the rewrite. The reasons for that are only Adobe's.

WHAT PEOPLE???? Damn this tin foil conspiracy BS! Fact is their technical limitations. It's part of the came when your trying to support all platforms, some platforms are easier than others. Maybe I'm going out on a limb here in assuming you are a mac developer. So as a one, you do know that until recently Plugins in Safari could not access CoreAnimation. Now I support that's Adobe's fault too right?
 
They had valid reasons for not using QTKit, but that does not mean the APIs were unavailable. It means only that Adobe didn't want to use them.

Have you ever used QTKit before? If so I want you to explain to me how you can use QTKit in the way Adobe needed ( which is essentially in playback mode pointing to a layer in CoreAnimation in Safari )?

*Mind you this would be done with technologies prior to 2009.
 
You need to be more specific about performance?
Is that a question?

http://arstechnica.com/software/news/2008/10/benchmarking-flash-player-10.ars
LOL! The whole player does not leverage the Cocoa API's that feat would be technically impossible in the short time span between releases...
Again, the developers themselves state: "Yes, Flash Player 10.1 is a true Cocoa app now." True. Cocoa. App. Through and through. Flash uses Core Animation where supported, and Core Video and Core Graphics elsewhere (including in Firefox 3).

You seem to be a little unclear on what Cocoa is and what role it plays in Flash. It's not a rendering system, nor does UIKit (and its NS classes) have anything to do with Flash apart from the window controls and settings page. Cocoa is the set of programming frameworks for OS X, use of which is a prerequisite for access to Quartz and Core technologies (which provide for general hardware acceleration). A Carbon application (one written for compatibility with OS 9 frameworks) cannot ever use Core technologies at any stage.

You also seem to be a little confused on the time span between releases. Flash 10.1 comes two years after Flash 10.0.

Flash had to be, and was, entirely rewritten to provide access to Core Graphics and substantial performance improvements. Flash 10.1 is the version where this has appeared and provided the first real performance gains relative to Windows in a very long time. It didn't happen overnight, and it's not the end of the line, and even Flash's developers are very candid about that.
WHAT PEOPLE???? Damn this tin foil conspiracy BS! Fact is their technical limitations. It's part of the came when your trying to support all platforms, some platforms are easier than others. Maybe I'm going out on a limb here in assuming you are a mac developer. So as a one, you do know that until recently Plugins in Safari could not access CoreAnimation. Now I support that's Adobe's fault too right?
Huh?
Have you ever used QTKit before? If so I want you to explain to me how you can use QTKit in the way Adobe needed ( which is essentially in playback mode pointing to a layer in CoreAnimation in Safari )?

*Mind you this would be done with technologies prior to 2009.
That's exactly the point you keep missing. "Prior to 2009" (and indeed through 2009), Adobe couldn't use CoreImage, CoreAnimation, CoreVideo at all because Flash for Mac was not a Cocoa app. It doesn't matter what APIs were available--Adobe couldn't use any of them until they rewrote their software.

When they finally did, they could have passed H.264 stream decoding to QTKit. They elected not to do so because they weren't interested in using those APIs. That is not the same thing as the APIs not being available.
 
Look their are a lot of reasons why it took so long both managerial and technical. However I'm glad that the Player has made it to this point on the Mac, and I for one embrace it.
I think this sums it up: Whether you are a hater or a (opposite of that), if you're a Mac user, things got a lot better today on the bumpy road to whatever future you worship. ;)
 
No Flash.
No Loss.
Just Glitz.
And Ads.
Blah.

Now that you've said that does that mean you'll be branded for the Steve lovies?

If you don't like Flash you're automatically in the Job's lovies.

Love Flash and you're an Adobe fanboy.

Get annoyed by it for what it really is and all hell breaks loose for somebody having an opinion on how they really feel.
 
"Yes, Flash Player 10.1 is a true Cocoa app now." Flash uses Core Animation where supported, and Core Video and Core Graphics elsewhere (including Firefox 3).

Well you seem absolutely convinced that the whole player leverages cocoa. That would mean the ActionScript Engine, DisplayList and parser is written in cocoa. Adobe's PixelBender is written in Cocoa? Of course not. Those parts are still maintained in C++. But the way you make it seem, is that the whole Player including the internals are chugging along in Objective-C bliss.

You also seem to be a little confused on the time span between released. Flash 10.1 comes two years after Flash 10.0.

I am full aware how long it took as I was testing the engineering drops since the beginning. You on the other hand seem to be a little confused on how long it takes to right cross platform software in a secure, performance orientated fashion. Writing software is not like blogging. It is hard ( Don't believe me... ask the guys over at Valve Software but I guess in your eyes their evil and lazy too ... Valve Poster).

You seem to be a little unclear on what Cocoa is and what role it plays in Flash. It's not a rendering system, nor does UIKit (and its NS classes) have anything to do with Flash apart from the window controls and settings page. Cocoa is the set of programming frameworks for OS X, use of which is a prerequisite for access to Quartz and Core technologies (which provide for general hardware acceleration). A Carbon application (one written for compatibility with OS 9 frameworks) cannot ever use Core technologies at any stage.

I know exactly what cocoa is and I am not going to get in a my d**k is bigger than yours over this, because frankly I'd rather get laid. However, I have ported GUI apps written entirely in QT 4 to Cocoa using Objective-C 2. No easy feat mind you but about 80% of the code was not touch and still remains in it's original QT state as libraries that I access from the Cocoa GUI. Summary all I needed to do was to rewrite the GUI portion ( ie controls, etc ) in Cocoa. This is essentially what Adobe did. Replace most of the code that interfaces the Flash Player with the underline OS through the Core API's, but the internal's(like the ActionScript VM) still remain in C++. Why? Because there is no benefit in re-writting the ActionScript VM in Objective-C fact is it would probably detrimental to the performance of the engine considering the overhead the Objective-C runtime adds to code.
 
True. Cocoa. App. Through and through.

This is where your problem is... your definition of "True" Cocoa app differs from what Adobe considers true. Because the reality of the situation is that there are still plenty of parts in the Flash Player that still remain in C++ and Assembly. This is information received straight from members of Adobe's Engineering team.

Now to be fair Adobe has a bear a lot of the blame in this confusion, because they have not made clear what exactly they are doing with Cocoa on a Mac, so in fairness I do understand where you cold have gotten that impression.
 
Humma...

I've been beta testing this update for some time.

Some of the updates were better than others but I STRONGLY believe this update was pushed as "final" RC because of the recent security issue that malware writers have been exploiting with increasing effect. They had to do something.

I'd reported four bugs that I found as early as four days prior to this being pushed out and three were reported as confirmed.

But after this some other developer at Adobe wrote back confused on whether I had a PC or a Mac (both in this case but I very clearly reported the hardware).

I get the idea they had a thousand people writing up bugs and it was like trying to hear a whisper in a windstorm.

Fact:

-My video card is capable of nearly 2000 fps in OpenGL at 1920x1080
-1080p high-definition content plays fine on the card (MP4 via QT, VLC, Mplayer) in its native format.
-1080p html5 high-definition content plays fine on the card.
-1080p content via flash 10.1 shudders and fails but 720p is fine.
-I believe a lot of the problem is youtube since some other flash based video sites such as Vimeo work better.

10.5 users are lost of course. Which doesn't help me at all (PowerMac G5 2.5 dual, 8 gigs of ram, Nvidia 7800GS w/ 256 megs of ram, 4.7 TB of disc).

The wifes machine seems to be doing just fine (Core2duo iMac 3.06 ghz with 4 gigs of ram and 1.2 TB of disc). She's running the gala preview and that works a heck of a lot better and smoother.

My only complaint about Flash in general is H.264 decoding at 1920x1080 via streaming sites such as youtube.
 
Well you seem absolutely convinced that the whole player leverages cocoa.
The player does. It has to, or it can't use CoreGraphics, CoreImage, CoreVideo, CoreAnimation, or the other advanced technologies available only to Cocoa applications.
That would mean the ActionScript Engine, DisplayList and parser is written in cocoa. Adobe's PixelBender is written in Cocoa? Of course not.
Please learn to stop conflating the player and the runtime. Until you can manage that, there can be no sensible discussion.

Just like the Windows player is a modern Windows app, built on all the frameworks available through Media Foundation and the Aero WM, the Mac player is now finally a modern Mac app, built on the Quartz compositor and Core technologies frameworks.
It is hard ( Don't believe me... ask the guys over at Valve Software but I guess in your eyes their evil and lazy too ...
It's perfectly clear that I've had exactly two points:

1. Lack of H.264 specialized acceleration is not the reason Flash performance sucks worse on Mac than Windows (because until version 10.1, Flash for Windows didn't have it, either). Flash 10.0 for Windows is on a completely different level than Flash 10.0 for OS X, and neither has specialized H.264 acceleration; the presence or absence of this API is meaningless for this purpose.

Everyone has seen the benchmarks at this point of the same FLV file being played back in VLC and in Flash player, and VLC (another cross-platform app using a software renderer) absolutely spanks it in CPU usage. Both are subject to the same API constraints.

2. Adobe is perfectly within its rights to allow Mac performance to slide because they don't feel like investing resources into it; what they're not free to do is claim that they were prevented from doing anything about it by anyone else. The reason Adobe waited eight years to rewrite Flash (five years after final deprecation of QuickDraw), but jumped immediately when Vista came out had nothing to do with Apple or Microsoft or Mozilla and everything to do with Adobe's resource decisions. (Again, the H.264 API didn't exist when Vista was released, either, and it didn't stop them from an aggressive rewrite for everything else).

Adobe made their own bed. Now it's time to sleep in it.
 
This is where your problem is... your definition of "True" Cocoa app differs from what Adobe considers true. Because the reality of the situation is that there are still plenty of parts in the Flash Player that still remain in C++ and Assembly. This is information received straight from members of Adobe's Engineering team.

Now to be fair Adobe has a bear a lot of the blame in this confusion, because they have not made clear what exactly they are doing with Cocoa on a Mac, so in fairness I do understand where you cold have gotten that impression.

And this is why it is slow? Really. Bad languages? I wonder how come it works just fine on Windows (same languages, same CPU and GPU).
 
It seems to me that regardless if someone used the Quicktime API or not, they STILL would NOT get H264 hardware decoding on anything older than a 9400M. PERIOD. And that is the API we are talking about relative to Quicktime on here. So exactly WTF is the point of going to the ends of the earth to support Quicktime API a year ago? It would have gotten Adobe hardware rendering for 9400M a year or so sooner at best. And that would look even more ridiculous back then given how chipsets like the 8600M GT were being sold six months earlier and have ZERO H264 hardware rendering support from Apple in Quicktime or anything else PERIOD to this very day!

The fact of the matter is H264 had NO hardware rendering available in OSX period until the 9400M showed up (i.e. Leopard) and at the time ONLY for those new computers (end of 2008). All hardware support before that had nothing to do with H264 and the new API Apple made available. Plex and VLC weren't about to rewrite all their code in Cocoa to use Quicktime to run formats Quicktime doesn't even support in the first place and screw up all their cross-platform code in the process. And even then it wouldn't help H264 decoding on the vast majority of Macs anyway despite the massive amount of work (whereas it's simple to add the new API by comparison and doesn't require 100% Cocoa to get there). Adobe would have no more acceleration for H264 now with Quicktime than they have with the new API so why in the world should they have bothered? To please a user base that largely HATES them anyway? Does anyone seriously think for one minute that the Mac fanatics would like Adobe one bit better if it were 100% Cocoa? I doubt it. Steve told them to hate Adobe and push his HTML5 agenda and so they hate Adobe. It's that simple. Go see how many Windows iPhone users hate Flash by comparison and how many wish Steve would get off his high horse and let the user decide whether to enable Flash support on their iPhone or iPad or not.

BTW, my 2001 upgraded PowerMac runs Flash (other than HD) just fine, thank you very much. I would certainly think a 2010 iPad shouldn't have much trouble. It can run 3D games, but not Flash animation? Egad. Flash must suck! Then again, $250 netbooks have full 720P HD H264 support with hardware assisted decoding in Windows using Flash, but the mighty iPad cannot handle it? Maybe it could if Steve worked with Adobe instead of trying to screw them over at every turn? :rolleyes:
 
Something that I dont get is this.

All you Mac owners moaning that Adobe sucks, and that flash is crap.

Why not uninstall Flash altogether?

Forget the pop-up blockers you so love to use, if you dont install it you wont have system issues and crashes on sites that use flash.

Surely thats the solution?

Then you can view pages like the iPad and iPhone does.

That's the way to stick it to Adobe, isnt it?

That's a good point. Why install Flash, then a Flash blocker? Why not just install neither?
 
I'm going to try and ignore all the d**k swinging and focus on facts (really guys, you might need to agree to disagree and move on?**)

Adobe released this update today for one reason and one reason only: they needed to issue a non-beta update to solve the pressing critical security issue.

That meant they had to drop a whole lot of things that weren't ready to move from beta. Hardware accel on OSX is one. Mobile version is another.

In an ideal world maybe they would have left it until they could release everything as a tightly unified package but their hand was forced.


**btw @matticus008, really you lost when you got called on that Plex thing. That was a key point of your argument and it was plain wrong. I don't have the time or inclination to check the rest of your "facts" so I'm going to assume they're all wrong, mmmkay?
 
G4 PowerBook 1 ghz - should I upgrade? Or will this update actually make Flash perform worse?
 
I have Installed 10.1 and scrolling is too worst through webs with lot of flash. Had to reinstall 10.45.2.

Anyone having the same issue?
 
Actually, there are a lot of overdue performance optimizations in 10.1. Hardware acceleration was not the only thing wrong with it, as any number of Jobs boys' will be happy to tell you.

Sure! Now to see a crap video you "only need" 60% of cpu cycles instead of 75% of the old flash 10.0. What an "optimization" !
With Gaia preview2 it takes about 40%. it still sucks, but it sucks less.

Dude, Adobe is just unforgivable about Flash ...
Don't even try
 
No problem,

I understand the confusion and the reason for it is that Hardware acceleration is being rolled out in starting in Flash Player 10.1 but in pieces. It's important to not that Flash Player in general is not Hardware Accelerated on ANY platform included windows. Decoding video on the other hand is a different matter, this is in fact done in Windows due to the availability of the low level API's Microsoft has made available for years now. Mac users are $#!t out of luck. Apple just recently released the low level API's but it's for Snow Leopard 10.6.3 and up. The Mac version of Flash Player 10.1 ( with hardware accel. code name gala is in beta ) and will not be made available to later this year.

So in short upgrading to this release of 10.1 will NOT give you hardware accelerated H.264 playback on a Mac. It will however give you a better software based decoder that plays H.264 content better while using less CPU ( specially in fullscreen mode where they are in fact using OpenGL blit to the screen but only in fullscreen mode ).

Upgrading to this release for Mac users will improve drawing performance in a marked way since Adobe is using Core Animation. But be warned that this performance improvement is only for cocoa based browsers.

Lastly you will have a Flash Player release that address a security advisory posted last week.

Best performance scenario for your case would be to indeed upgrade to 10.1 and use a browser that supports cocoa API's in their plugin system like Google's Chrome or Apple's own Safari.

Hope this helps.
Cheers

Better software decoder for H.264 ?!?
C'mon, try to be honest! Do you work for Adobe ???
Better than WHAT ? better than crap Flash 10.0 !!!!!
ANY OTHER H.264 software decoder (try VLC) is far better than Flash 10.1 in playing video content, and this is a FACT.
same exact video from YouTube played from Flash plug-in 10.1 takes about 40-50% of cpu, while downloaded and played on VLC it takes not more than 20-25%.

How can you still defend Adobe is beyond my understanding.
 
I just upgraded my flash player to 10.1, and one thing i notice is that when i open a website that contains flash, my GPU switches to the 330M, unlike the previous version (10.0.45.2) where it does not switch from intel to the 330m when i open a website that contains flash.

Anything that even hints it is going to use Core Animation ( and several other Apple APIs ) will turn on the 330m. Won't turn off again until application quits (or somehows makes the OS think can't possibly invoke the API.) In effect, Apple put a tripwire in front of a generally widely use (by some) API that turns off the "dynamic switching". It is not hard to stumble across it. This is just yet another example.


[ there is a reason why Nvidia went with a database entry per application to turn off/on moving the workload around. It is hard to get a good, noninvasive indicator should switch or not. There is lightweight/moderate CoreAnimation stuff that the Intel IGP can do perfectly fine. Apples solution errs on the side of performance when "not sure". ]


This is an illustrative example of the secondary side effects can pop up when use high level, high abstraction APIs. You can drag in other stuff may not want.
 
So why do the Plex guys state that "for the first time, your GPU is used to decode H.264 video." only after Apple released Video Decode Acceleration Framework Reference? I can't see any way you can both be right.

Because anyone that isn't just writing some kind of Quicktime front-end doesn't care about most of QTKit and the portion that does give you hardware accelerated decoding (which hasn't been around since 2005, no matter what matticus says).

Some people can't work with things like :

[QTVideoPlayer createFromFile: @file];
[QTVideoPlayer play];

It's just too high level. Things like Plex and Flash need to access to the decoded frame data to do some post-processing. So they essentially need an API that takes in encoded frames and spits out decoded frames, having passed it into hardware.

Matticus would understand this if he had even once openned Xcode to write something more than a copy/pasted tutorial from the Web. High level stuff is fun if all you're doing is trying to impress your buddies. It sucks for writing anything more complex than a fart app.
 
Awesome update!

10.1 is making hell of a difference :)

Looking forward to further updates!

many thanks Adobe and keep up the great work!
 
Regarding Hardware Acceleration

If you look at Apple's APIs they released for the Nvidia hardware it follows closely to that of VDPAU.

http://en.wikipedia.org/wiki/VDPAU

VDPAU's first stable build 0.4 was released by Nvidia this past January.

Apple VDA Framework is their answer for Cocoa to Nvidia's VDPAU for standard Linux, FreeBSD and Solaris.

Can we all agree that Adobe clearly doesn't give a crap about performance on any platform, other than Windows?

Microsoft's work with Nvidia centers around Nvidia PureVideo

http://en.wikipedia.org/wiki/Nvidia_PureVideo

Take a close look at when that API got Full decoding of MPEG-4 (Advanced) Simple Profile(Divx/Xvid)

That's right! Near the end of 2009.

Seeing as Nvidia and Microsoft couldn't manage to get Feature Set C fully implemented until this time frame, what is Adobe's excuse again for such poor CPU performance on OS X and Linux?

Are we to believe it's more difficult to optimize for a UNIX based OS?

I'll laugh my ass off for anyone who comes up and claims that to be so.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.