All of that would be true, if I hadn't mentioned changing the resolution 
via DirectDraw.

When you change the resolution via DirectDraw, the actual screen 
resolution doesn't change, so it doesn't screw up desktop icons or your 
original settings. The only exception to this is with some dual screen 
setups. My dual-screen setup doesn't recover properly when returning from 
a changed resolution, whether it be DirectDraw or a temporary setting 
(other functionality available from SWF Studio that doesn't mess with 
desktop icons). But I'm used to that with any software that changes my 
resolution, like games.

As for the jagged display, yes flat panels like to display at certain 
resolutions and get "fuzzy" at others. It's a give and take for this 
scenario, since you would get better performance but a fuzzyier image.

And yes you do get better performance when you lower the screen res 
because the Flash Player, and the client system, has fewer pixels to push 
around.

There's a reason why games change your screen resolution on you, and they 
do change it, via DirectDraw typically. Some games will let you set the 
screen resolution, and if you've got a kick-ass system you can play the 
game at very high res for even clearer display, but it does degrade 
performance.

And when I mention games I don't mean Flash games, I mean PC games.

As for the change res failing, when you attempt a res change in SWF 
Studio, via DirectDraw, and it fails, nothing happens, as in the call 
fails and the user's system doesn't change. DirectDraw doesn't change the 
refresh rate so cannot place the monitor in some messed up state.

"Lucky for you, Flash can stretch to fill the screen.  You just need to
design for that by using vector art for the UI, although raster images 
look fine up to a point.  Stretching Flash may cause a slight performance 
hit, but you can also code your application to dynamically resize itself 
based on the user's current resolution, which takes more finesse and 
planning."

That's the point in changing the res - performance and keeping your SWF 
playing at the size you want while making it fullscreen.

"Many users have flatscreen displays nowadays, which you can't or don't 
want to change resolutions on anyway."

Really? I have not yet seen a flat panel display that won't let you change 
the resolution. While I don't claim to have seen all flat panels out 
there, I would bet this isn't true of most displays.

"On others, it simply puts deadspace around the sides whilst making the 
visual area smaller"

"800x600 is only 224x168 smaller than the average resolution these days. 
Try a nice border around the edge, black or a dark grey usually works best 
and after a few minutes most users won't even notice it anymore (much like 
the black bars at the top and bottom of widescreen movies)."

That's rather contradictory. Yes, there is a setting for some screens 
(like laptops) that causes a res change to shrink the visual area, 
actually using the specified number of pixels rather than blowing up the 
image to fit the screen. What does that do? It's actually a great effect! 
It means you are playing your SWF at the smaller res, which means better 
performance, and the screen doesn't get fuzzy, and you get black borders 
for free! I don't see a downside here ...

As Robin mentioned it's not a wise thing to do this for every project. 
It's only needed when you are looking for best performance in a project 
that demands it.

And with proper planning you actually can account for special 
circumstances like screens that are not the typical 4:3 or dual displays.

I don't think a blanket "don't do it" is particularly useful.


Derek Vadneau

-----Original Message-----
From: [EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED] On Behalf Of Steven 
Sacks
Sent: Friday, May 19, 2006 1:11 AM
To: 'Flashcoders mailing list'
Subject: RE: [Flashcoders] CD ROM dimensions?


As a former Director programmer and desktop application developer, with 10
years experience in the industry, I have one thing to say to Flash
developers who have little to no experience developing desktop 
applications.

Changing a user's resolution without asking them first is a HUGE no-no.

Don't do it.

"Why shouldn't I change their resolution automatically?" I hear from the
desktop application development neophytes.  Such sweet innocence.  Your
incredulous cries shall be answered forthwith.

First, many displays, laptop displays (read: flatscreens) in particular,
only like to display at a specific resolution.  Changing the resolution on
these displays can result in unintended side effects.  On some, everything
gets extremely jagged, pixelated, blocky (i.e. crappy).  On others, it
simply puts deadspace around the sides whilst making the visual area 
smaller
(oh the irony).  Either way, your goal of making things look bigger and
better for the user just got Punk'd ("Punk'd" used with express permission
from Ashton Kutcher and MTV/Viacom, all rights reserved).

Second, if the display in question (laptops and desktops) cannot display 
at
the resolution you switch it to, a possible side effect is no display
whatsoever.  And since it wasn't done by the resolution control panel in
Windows, there is no 15 second timeout if you can't see it anymore.  This
might not be an issue on braille monitors, but those account for 0% of 
your
target audience (ed: and they don't exist).  "Your application just broke 
my
computer!" exclaims Irate User.  Which segues nicely to the next point.

Third, when you decrease a monitor's resolution, you completely screw up 
any
icon arrangement on the desktop.  If you're looking to completely irritate
your userbase, congratulations you win!  You've just caused the user to
associate negative emotions to whatever you were trying to convey.

Fourth, don't poop where you eat.  People have their computers set up the
way they like them.  They like their resolution just how it is, thank you.
Many users have flatscreen displays nowadays, which you can't or don't 
want
to change resolutions on anyway.

Fifth, even if you ask permission, many users don't know that any of the
things I've mentioned will befall them should they agree to your request,
and some users automatically click No to such things anyway.

Lucky for you, Flash can stretch to fill the screen.  You just need to
design for that by using vector art for the UI, although raster images 
look
fine up to a point.  Stretching Flash may cause a slight performance hit,
but you can also code your application to dynamically resize itself based 
on
the user's current resolution, which takes more finesse and planning.

The only time you should change the resolution without asking is in a 
kiosk
enviroment where you control the machine and you're not going to piss 
anyone
off or break something by doing so.

800x600 is only 224x168 smaller than the average resolution these days. 
Try
a nice border around the edge, black or a dark grey usually works best and
after a few minutes most users won't even notice it anymore (much like the
black bars at the top and bottom of widescreen movies).

Make a friend of your users, not an enemy.  Just say no to resolution
changes.

This message paid for by the Special Treatment For Users group.

;)


_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to