This is an interesting post on Tinic Uro's blog:
http://www.kaourantin.net/2008/09/on-performance.html
Quote:
If you use WMODE the Flash Player has no way of knowing if it is hidden or not and will continue to do a full render. Do not use WMODE.
Printable View
This is an interesting post on Tinic Uro's blog:
http://www.kaourantin.net/2008/09/on-performance.html
Quote:
If you use WMODE the Flash Player has no way of knowing if it is hidden or not and will continue to do a full render. Do not use WMODE.
I thought this would be a interesting read for those who keep publising their flash in html under wMode
its an article from Tinic Uro an engineer at Adobe on the Flash Player:
http://www.kaourantin.net/2008/09/on-performance.html
even though the article is more focused on ads (which are indeed more nasty because they are usually all over the place instead of just 1 flash game) but still even here quite alot are in favor sometimes for the wmode.Quote:
..If you use WMODE the Flash Player will continue to suck up CPU cycles as if the tab was visible. In addition WMODE is much slower than the normal mode....
I'd rather use WMODE and get a game running at full speed and have a slight decrease in cpu performance when the user is looking at another tab, than not :)
The whole article seems to be saying "Banner ads are the evil ones, not Flash. Bad design leads to bad Flash".
Strange he feels the need to defend Flash, that's the sort of thing which is normally battled out in forums.
Squize.
Yeah, but I love tabbed browsing, have 6 open at the moment. I didn't realise that the graphical renderer keeps on working - that explains why flash + tabbed browsing breaks sometimes.
Though if I'm playing a game, I tend to appreciate it's drain on the CPU and close other tabs, but then I'm a developer, so you'd expect me to...
solution: pop ups
pop-ups that would have to be injected straight into the dom from a swf. Imagine how popular that would make the site :)
Squize.
solution(s):
- dont use IE6 (Firefox 3, Chrome and Opera 9.5+ dont suffer from strong frame drops anymore)
- write better code
either way imo. people using wmode for speed gain did something wrong and are killing the browser expierence with multiple sites opend.
I agree with render, if your game needs wmode to run at acceptable speed, then you have coded it badly.
I totally disagree. If you're having to have your game run at a much slower speed in the browser than on the desktop then you're having to reduce what your game can do, thereby affecting the whole experience.
Either that, or you use wmode and it affects the minority of people with tabbed browsers ( Although it's all a bit moot unless you're hosting the game yourself ).
"dont use IE6"
The internet unfortunately doesn't work like that.
"write better code"
When an empty swf doing nothing loses 5 fps or more it's not really a question of the quality of code, it's more what you're trying to get your game to do.
If speed / size of the scrolling area / number of sprites etc. is important to the game then you can either reduce all that by what, 15-20%, or you can use wmode to ensure the vast majority of people who are affected by slower browser speeds ( ie, IE users ) get to play the game as it was intended.
Squize.
IE6 doesn't have tabs - so the wmode/tab issue doesn't apply.
I think a lot of this depends on the game - if you're really pushing the player then it becomes more of a concern. If your game is frame dependent, then even more so.
but again I think a problem is that with such a way of thinking you dont force yourself optimizing at all. You propably dont even optimize for older computers or computers with the new atom processor - but rather a half decent target performance and then hammer on the performance till even the wmode and IE are out of breathe.
Like tonypa I think your code is then propably unoptimized.
There are plenty of examples even physiscs or 3d engines that dont comsume that much CPU usage and can run witout wmode. For example you can detect in AS3 if the mouse is out of the flash container (stage) and for example then go into a low priority mode in the engine or halt the game.
[QUOTE]in IE6 terms it means multiple pages opend- its the same. Tabs is the term for modern browsers but its basicly the same from the flash player perspective.Quote:
Originally Posted by lesli_felix
"Like tonypa I think your code is then propably unoptimized."
There's a world of difference between doing game related experiments in your own time that you can just drop when you're bored, and making complete working games to a deadline.
Optimising beyond doing the usual is a luxury that people who do this for a living don't have. Nearly all projects have no [ Budgeted ] time to ensure the gameplay is good, never mind being able to rip out and re-write whole core routines for speed.
Also you have clients expectations. Taking Polarity as an example [ Of a game that really needs wmode to run at the speed it should ], the clients requested the scrolling area was increased beyond what we wanted, and then they requested a further increase ( Which we managed to curtail ).
It's all well and good saying "I'm experienced developer, and these changes are going to affect performance and limit the game to higher end machines", sometimes the client knows best. And as they're paying the bills, that's their prerogative.
You can either carry on fighting and just end up banging your head against a wall, or get on with the job.
To me I find it absurd that as a developer you can't use something for extra speed because you have to take into account what the user may be doing at the same time. Suppose they're d/loading a torrent that's sucking up all their bandwidth, should we put a preloader game in there just in case so they're not bored ?
If I'm developing a game it's all I care about. So long as it's not firing off pop-ups or resizing the browser, I couldn't care less if someone with 8 tabs open is having a slow time. Close my game, or play it. Simple as that.
Squize.
guess you have the wrong impression of me. I do have indeed little jobs perhaps not a tight deadline as a freelancer like you but a reason why I often get asked and what my clients care for is performance - something nice interactive that actually runs as well on older computers.
Its just that most of it is not even close related to games that´s why I dont post commercial projects here.
Dont take it to personal - I know you make great stuff- its just that my oppinion is that wmode is not really requirement to let something run smoothly.
Oh and btw. students have deadlines as well,- if the goal isn´t archived we get less good grades - and I have lots of things going on parallel here - no freetime.
To me its a question of making sure yor game runs at acceptable speed for most people. Basically, if someone has Flash Player, the game should play no matter what browser he has, what OS he uses or how old the computer is. wmode does not work correctly for everyone, its runs faster only for some people, for others the game may be broken (keyboard issue) or freeze the browser.Quote:
Originally Posted by Squize
Its even worse when Flash movie created by someone else, being in same window or in hidden tab is causing perfomance loss on other content. There is good reason Tinic quotes Google guidelines, one badly designed Flash movie may cause much problems for many sites, angry customers and loss of money.
p.s. Looks like you are reacting quite painfully, I hope this is not turning into personal attacks against each other.
I've been using wmode since day 1 and it has been one of the greatest assets to any flash game developer. It has been the ONLY way to ensure specified frame rates and it ran without problems in Firefox, IE, Mozilla, etc...( if you know when to use it )
Obviously if you need to use keys in your game, then you still may have problems.
But there is no reason to avoid wmode, it can and has worked to developers advantage. That Adobe guy is talking nonsense ( about wmode ) . wmode has always been faster, not slower.
Finally, Firefox3 seems to have fixed issues and runs fine even without wmode.
IE7 still drops some and it has nothing to do with optimized code. As Squize mentioned, a completely empty flash movie will drop a few frames just by being embedded in a browser.
And as far as tabbed browsing goes, who cares. Play the game or close it.
It's a game, it's supposed to consume a lot of CPU cycles. Tabbed browsing itself is buggy, maybe they should fix it before they start deflecting blame. And I know it's buggy, because I never get same slowdowns or freezes if I right click and open in a new window. So, should I write a blog now about how Tabbed browsing is evil and should be avoided ( and no, tabbed browsing and opening another browser window is not the same ).
So what? That statement shows a fundamental lack of understanding wmode. I can get almost any game to run at up to 60fps, but what wmode gives you is consistency. It ensures that game will run at 30 fps in IE6-7 and Firefox2,3 ( in most cases ) . If you don't use it, you'll get variations of 5-10 fps between Firefox3, Firefox2, IE6 and IE7, and that's guaranteed.Quote:
There are plenty of examples even physiscs or 3d engines that dont comsume that much CPU usage and can run witout wmode
Quote:
Originally Posted by MikeMD
No Mike, this is another reason not to use it.
I said there was no reason to avoid wmode. Many games use mouse only, so in those cases it's irrelevant whether or not wmode causes problems with keys since no keys are used.
It will also work fine even with keys, most of the time, To make sure you cover everything, all you have to do is create another page with same game, but embedded without wmode, and a little note: "if you are having problems with this game go here" so whoever is having problems can try that page. It's not that complicated.
It's is stupid to settle for inconsistent frame rates when something as simple as wmode can take care of that. It may not be needed in some cases, but there's no need to be afraid of it.
Example: I want to run certain game at 30 fps. To do this without wmode, I have to set frame rate to 35, and I'll get about 30-31 in IE7. But, now, Firefox 3 handles things much better and it will run it at 35, and animation will be too fast. In some games it may not matter, in some those 4-5 frames may matter quite a bit.
If I use wmode and simply set frame rate to 30, it will run at 30 in both cases.
So why would I avoid using wmode? It makes no sense at all.
Don't blame flash. Blame badly designed browsers or your bad browsing habits, or don't blame anything and just live with it. And I can open 6 of my games in 6 different browser windows and nothing will crash or freeze, so it's obvious that tabbed browsing itself is at fault. It's badly designed ( if one tab slows down or freezes, it will freeze the whole browser, something that usually doesn't happen with multiple browser windows ).Quote:
Yeah, but I love tabbed browsing, have 6 open at the moment. I didn't realise that the graphical renderer keeps on working - that explains why flash + tabbed browsing breaks sometimes.
By the way, I just opened 6 games in 6 different windows and all of them use wmode, and not even one of them slowed down a bit.
tell that anyone else that surfes the web- at least I dont agree with that and if it would continue like that (especially ads and regular stuff) its just a matter of time until a addon for firefox comes out that lowers the right of flash movies sets the aliasing level to 'LOW' and wmode to default - so that people dont suffer anymore from slow CPU cycles.Quote:
Don't blame flash. Blame badly designed browsers or your bad browsing habits, or don't blame anything and just live with it. And I can open 6 of my games in 6 different browser windows and nothing will crash or freeze, so it's obvious that tabbed browsing itself is at fault. It's badly designed.
Adobe should release a browser which is tuned for its content.
Like google has....
Oh yeah, has any of this wmode stuff even been tested in chrome?