The Visual Effects dialog box just tells you what you want to hear


The Visual Effects dialog box has three options, "Let Windows choose what's best for my computer," "Adjust for best appearance," and "Adjust for crappiest appearance best performance." Some people have discovered the registry key where the Visual Effects dialog box remembers which radio button was most recently checked, but they found that when they programmatically manipulate the registry key, there is no effect on the actual visual settings.

What's going on?

What's going on is that the registry key is just there to tell you what you want to hear. It remembers which radio button you clicked, so that when you reopen the dialog box, the same radio button will be selected by default.

The actual work of changing the setting happens when you click the OK or Apply button. The registry key is just for show.

If you want to change a Visual Effects setting programmatically, you need to make the corresponding API call for that visual effect. For example, you might call System­Parameters­Info with the SPI_SET­NON­CLIENT­ANIMATION flag to programmatically enable or disable non-client animation.

Note of course that by doing this you are using a global solution to a local problem. The user's visual effects preferences should be modified by the user, not by a program.

Comments (21)
  1. Joshua says:

    For some reason I think the registry key is where it's actually persisted to be restored on the next login.

    Incidentally best performance is still true if you don't have a GPU.

    [You may be surprised to learn that the overwhelming majority of computers have a GPU. If you don't, then you are a nerd who knows when guidance does not apply to you. -Raymond]
  2. Shawn "Cmdr" Keene says:

    Agreed!  I use a particular program for remote access to my workplace. This program disabled all sorts of visual effects on my end and doesn't restore them when the program closes. I have to open up the appearance settings, make a change so the apply button becomes available and then save my changes to get my settings back.

  3. Azarien says:

    I disable all the non-static visual effects (like animations), they are distracting. And one of them (smooth scrolling of comboboxes) is simply evil.

  4. benjamin says:

    Here's something I'd like to know: why is it that in Windows 8/8.1 the option to give the cursor a drop shadow became disabled by default?

    I'm going to put on my Raymond hat and try to psychically deduce that the answer has something to do with the overhead from adding the shadow/figuring in the shadow when rendering window contents is seen as not being worthwhile for such a small detail.

  5. Gabe says:

    "Best performance" actually does provide the best performance when using a utility like VNC.

    While it's a good thing that Windows includes a default remote desktop facility that properly manages visual effects and sends only the necessary commands to the remote client, it's unfortunate that it doesn't support screen sharing, which necessitates the use of a screen-scraping utility like VNC.

  6. Maurits says:

    @Gabe Windows Remote Assistance is Windows' VNC-equivalent that allows sharing your screen.

  7. Entegy says:

    @Azarien How is smooth scrolling of combo boxes evil?

  8. Inigo says:

    @Entegy

    I don't know about combos but if you have a variable height owner draw list box then, with smooth scrolling enabled, it actually looks like it is scrolling backwards as you move down the list, a very bizarre and unpleasant experience.

  9. Azarien says:

    @Entegy: It's the effect of slooow-slow-TOO FAST! that makes it unusable. No matter if I use mouse scroll, mouse clicks or keyboard, smooth scrolling makes it harder, not easier to use.

  10. Neil says:

    Was it too hard to read the current visual effects and work out which radio button was last selected?

  11. ender says:

    > Windows Remote Assistance is Windows' VNC-equivalent that allows sharing your screen.

    Ever tried to get it to work over the internet? Or tried to run something elevated with it when user doesn't have local admin rights?

  12. Karellen says:

    @Neil – what if "what's best for my computer" /is/ "best appearance"? How would it know then?

    I can very easily imagine some people who'd selected either one of those being rather upset if Windows told them they'd selected the other, and kept "changing it back".

    [That is in fact exactly what happened. If two options are equivalent, people were upset that the computer showed the wrong one. -Raymond]
  13. Anon says:

    @Maurits I agree with @ender. 99.9% of the time, "Remote Assistance" requires hours of remote assistance to get everything working (barely) enough to allow you to connect to someone's machine. You're then not only providing assistance with their Windows desktop, but their security software, router, and ISP.

    Whereas you can, say, send them to Join.me and have them running in all of a three-second download.

    ———-

    @Neil No. But why would you spend all that time reading two dozen registry values when you could instead just read one?

  14. Anon says:

    @benjamin

    My psychic powers tell me that the drop-shadow on a mouse cursor does not adhere to the "flat" aesthetic of Metro, and is UX-'confusing' for the types of people who are wont to use Touch input.

    [That's my guess too, that it was done to conform to the flat design. -Raymond]
  15. DWalker59 says:

    Raymond, "best performance" is not "crappiest appearance", as your strikethrough implies.  

    All of the sliding and smooth-scrolling makes me nauseous, and wastes valuable time.  I think the appearance is far, far better when visual elements snap into place immediately instead of sliding around and animatedly slowly to where they will end up.  IMO, best performance and best appearance are synonymous — uncheck every selection that has "fade" or "slide" or "animate" or "smooth scroll" in its name.  The appearance is terrific that way.  Best appearance does require "smooth edges of screen fonts" (Cleartype), which is a different thing entirely.

    [My point is that "best performance" is no longer best performance. -Raymond]
  16. xpclient says:

    If you are not a fan of animations, on Windows 8, the appearance isn't so crappy if only "Smooth edges of screen fonts" is checked and all the rest are unchecked. Although personally I keep all enabled. On Windows 7, turning Desktop composition off really made the appearance crappy.

    @benjamin You should thank them that they didn't remove the ability for the pointer to have a shadow just for fun and games. For a company who wastes time in getting the Windows logo animation perfect instead of fixing serious usability issues for several years, this is expected.

  17. Joshua says:

    Wow xpclient is being more trollish than usual today.

  18. Bahl says:

    You would think microsoft would update those settings to follow what is now measured as best performance. Could even provide a small update now in order to correct it.

    Another sign of windows have become bloated? So many "features" and bad coding (maintainability). That old features get forgotten and not updated.

    Only the hyped up features get the attention. If you file a bug it will only get ignored, marked as wontfix or works for me.

    Still remember when windows could be run quite fine on only 128mb of ram. Only reason you upgraded ram was for the games. I miss those times. Windows was somehow more lean and efficient compared to now.

    After all the less space the operating system eats up (metro ui) the more space is free for the applications.

    Microsoft have forgotten what the main task of an operating system. Answer: A stable platform to run applications on.

    Windows 8 wants the user to stay in metro land as long as possible. "No no child stay here a little longer" said metro while locking the door behind the user.

    @Joshua xpclient actually do have a valid point. Microsoft often…always allocate time (aka resource allocation) incorrectly. Giving low priority stuff much time.

    Not to mention microsoft have a habit of doing the opposite of what common sense and intelligence would tell them. Like force metro on desktop (keyboard and mouse) users going so far as to remove the start menu completely.

    Moving the screen up in order to login is a pain in the ***. It's one extra step which is totally unnecessary. Just like how adding interface on top of interface wastes cpu time. Compare a stack dump of a common program between windows xp and windows 8 to see what i mean.

  19. Maurits says:

    > the overwhelming majority of computers have a GPU

    That is, if you choose to reject several broad classes of things which are technically computers, and which do not have a GPU.

    [Thanks for nitpicking. -Raymond]
  20. CmdrKeene says:

    "let Windows decide" seems to have nothing to do with the capabilities of your system, but rather just a preset list based on style. No drop shadow on mouse pointer anymore in Windows 8 is probably much more to do with the new flat design aesthetic than the cost of rendering the shadow.

  21. Anon says:

    @Bahl

    Agree entirely that Win8 and Metro are garbage.

    That said, don't use invalid complaints in your argument: You don't need to slide the screen up. Just start typing, hit space/enter, etc.

Comments are closed.