Coffeehouse Thread

23 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Let's talk about graphics subsystems

Back to Forum: Coffeehouse
  • User profile image
    W3bbo

    I managed to get OS X working under VirtualBox.

     

    It's buggy and crashes a lot, but there's one thing I don't get:

     

    OS X's graphics subsystem does window drop shadows, smooth transition animations and effects, and reflections (e.g. in the dock) without any GPU acceleration, all at a high framerate even when under VirtualBox.

     

    Some graphics effects aren't present, like the 'ripple' effect on the Dashboard, of course; but most of the experience is there, like the Genie effect.

     

    What's with that? How is it that OS X does all these pretty things without requiring a GPU, yet Aero requires a GPU and Windows is totally fugly without it?

     

    EDIT:

     

    In before anyone starts asking about the legality-slash-legitimacy of this. I want to talk about how it works, not about anything non-technical.

  • User profile image
    exoteric

    The WARP software razterization platform ought to allow Aero to run without special-purpose processor support...

  • User profile image
    AndyC

    The 'glass' effect in Aero is considerably more complicated than mere transparency. It's possible you could do it on the CPU, but why bother? If the machine is that low a spec, you probably don't want CPU power being diverted to something which is ultimately just eye candy.

  • User profile image
    Bass

    If hardware acceleration doesn't exist for an operation, OpenGL automatically reverts to software.

  • User profile image
    ManipUni

    Windows NT was released in 1996, while OS X was released in 2001. Plus Apple gives a damn, for Microsoft it is less than an after-thought.

  • User profile image
    W3bbo

    AndyC said:

    The 'glass' effect in Aero is considerably more complicated than mere transparency. It's possible you could do it on the CPU, but why bother? If the machine is that low a spec, you probably don't want CPU power being diverted to something which is ultimately just eye candy.

    The Aero Glass effect is computationally expensive, yes; such is how blur works.

     

    Looking at OS X, the only real effect is transparency, as used by the window drop-shadow effect and simple window rect transformations (like in Expose), nothing like Aero's polygonal 3D transformations (well, ignoring OS X's desktop compositor).

  • User profile image
    rhm

    W3bbo said:
    AndyC said:
    *snip*

    The Aero Glass effect is computationally expensive, yes; such is how blur works.

     

    Looking at OS X, the only real effect is transparency, as used by the window drop-shadow effect and simple window rect transformations (like in Expose), nothing like Aero's polygonal 3D transformations (well, ignoring OS X's desktop compositor).

    Prior to Aero in Vista the GUI of Windows hadn't really changed much since Windows 2. In fact you could argue that it's still  the same now as you can see if you stop the Desktop Window Manager service (or DWM.Exe crashes as it still does from time to time). Everything just goes on as normal, just without the effects on the window frames.

     

    Of course you don't need GPU acceleration to do effects as long as you are restrained in what you do. The key thing is that you render each window to an off-screen bitmap. This is something GUIs didn't do in the early days because memory was so scarce, hence the non-deterministic paint message and invalidation semantics we've all grown to know and love. But now they have the memory, there's no particular reason to make windows repaint themselves except when their contents change, even when you don't have GPU acceleration. Then it becomes a game mostly of just blitting the bits of the window backing store (remember that most cards had hardware for blitting even before GPUs came long) and alpha-blending the drop-shadow over the top. The drop-shadow is a small percentage of the total pixels so it's not too expensive even if you do it with the CPU.

     

    FWIW, I think OSX's GUI works in a similar way to X11 under the covers (but heavily optimized for shared memory and without the decades of cruft) which is why the window manager has an offscreen copy of the window contents to play with. And it has that architecture because Apple re-engineered it all after the NeXT merger - the original MacOS worked a lot like 16 bit Windows did. Windows, like I said, has stayed pretty-much the same aside from parts of it being separated along kernel/usermode boundaries. It's worth mentioning though that Windows 2000 introduced alpha-blended window effects, though I think that just does repeated repaints of the stack of regions that are alpha-blended rather than off-screen compositing.

  • User profile image
    Royal​Schrubber

    Are you sure you've disabled 3D acceleration in VirtualBox?  They've supported virtualized OpenGL in guests since version 2.2. 

  • User profile image
    W3bbo

    RoyalSchrubber said:

    Are you sure you've disabled 3D acceleration in VirtualBox?  They've supported virtualized OpenGL in guests since version 2.2. 

    I'm guessing so on account of how OS X seems to be using drivers for stock VESA modes. It's stuck in 1024x768x24bpp mode.

     

    It's interesting how OS X doesn't have a fallback 'classic mode' unlike XP.

  • User profile image
    elmer

    Apple know that their user demographic is people with enough disposable income to match their desire for owning the latest & sleekest doo-dads... OS/X running on antiquated equipment is not typical.

     

    MS on the other hand, know that whatever they release, people are going to install it on old clunkers that are wheezing their last breath, resulting in the inevitable “WinDOZE 13 killed my computer” rants on interweb blogs.

     

    Requiring at least a low-end GPU seems to me, a reasonable trade-off in making sure the largest number of users can enjoy at least an acceptable experience.

  • User profile image
    W3bbo

    elmer said:

    Apple know that their user demographic is people with enough disposable income to match their desire for owning the latest & sleekest doo-dads... OS/X running on antiquated equipment is not typical.

     

    MS on the other hand, know that whatever they release, people are going to install it on old clunkers that are wheezing their last breath, resulting in the inevitable “WinDOZE 13 killed my computer” rants on interweb blogs.

     

    Requiring at least a low-end GPU seems to me, a reasonable trade-off in making sure the largest number of users can enjoy at least an acceptable experience.

    But what you've just written contradicts what I've been saying: OS X provides a visual experience virtually identical to both GPU-accelerated and non-accelerated computers, even on Snow Leopard 10.6; despite that all Apple computers sold in the past six years have had accelerated GPUs.

     

    I'm not aware of anyone installing Windows 7 on a computer older than 5 years will get adequate performance.

     

    I think it comes down to the whole backwards-compatibility thing again.

     

    Question: Direct3D provides an exclusivity mode that disables Aero 3D out of necessity, but I don't believe the same thing happens on OS X. What's up with that?

  • User profile image
    Minh

    W3bbo said:
    RoyalSchrubber said:
    *snip*

    I'm guessing so on account of how OS X seems to be using drivers for stock VESA modes. It's stuck in 1024x768x24bpp mode.

     

    It's interesting how OS X doesn't have a fallback 'classic mode' unlike XP.

    Aren't VESA drivers hardware drivers?

  • User profile image
    Minh

    W3bbo said:
    elmer said:
    *snip*

    But what you've just written contradicts what I've been saying: OS X provides a visual experience virtually identical to both GPU-accelerated and non-accelerated computers, even on Snow Leopard 10.6; despite that all Apple computers sold in the past six years have had accelerated GPUs.

     

    I'm not aware of anyone installing Windows 7 on a computer older than 5 years will get adequate performance.

     

    I think it comes down to the whole backwards-compatibility thing again.

     

    Question: Direct3D provides an exclusivity mode that disables Aero 3D out of necessity, but I don't believe the same thing happens on OS X. What's up with that?

    Question: Direct3D provides an exclusivity mode that disables Aero 3D out of necessity, but I don't believe the same thing happens on OS X. What's up with that?

     

    I believe the Aero being disabled is due to apps making calls directly to DirectDraw and is incompatible with the desktop compositor, hence, windowing is switched to basic mode, and you lose Aero. And it has nothing to do with 3D

  • User profile image
    AndyC

    W3bbo said:
    RoyalSchrubber said:
    *snip*

    I'm guessing so on account of how OS X seems to be using drivers for stock VESA modes. It's stuck in 1024x768x24bpp mode.

     

    It's interesting how OS X doesn't have a fallback 'classic mode' unlike XP.

    W3bbo said:
    It's interesting how OS X doesn't have a fallback 'classic mode' unlike XP.

    Maybe that's because OS X users are less inclined to sit on Apple forums b*tching about changes to the UI? Wink

     

    More importantly, there are only a handful of machines on which OS X is officially supported on. Which means it's very easy for Apple to try it out across the range and be sure that performance is acceptable. Windows is in a much harder realm because you can never be entirely sure what combination of hardware it's going to encounter. So there is always a trade off around supporting the bottom end of the hardware spectrum.

  • User profile image
    PaoloM

    AndyC said:
    W3bbo said:
    *snip*

    Maybe that's because OS X users are less inclined to sit on Apple forums b*tching about changes to the UI? Wink

     

    More importantly, there are only a handful of machines on which OS X is officially supported on. Which means it's very easy for Apple to try it out across the range and be sure that performance is acceptable. Windows is in a much harder realm because you can never be entirely sure what combination of hardware it's going to encounter. So there is always a trade off around supporting the bottom end of the hardware spectrum.

    Besides, Apple had a "classic mode" for OSX and they just cut it. Users and developers who needed it were told "get with the times, greybeards"

  • User profile image
    AndyC

    W3bbo said:
    elmer said:
    *snip*

    But what you've just written contradicts what I've been saying: OS X provides a visual experience virtually identical to both GPU-accelerated and non-accelerated computers, even on Snow Leopard 10.6; despite that all Apple computers sold in the past six years have had accelerated GPUs.

     

    I'm not aware of anyone installing Windows 7 on a computer older than 5 years will get adequate performance.

     

    I think it comes down to the whole backwards-compatibility thing again.

     

    Question: Direct3D provides an exclusivity mode that disables Aero 3D out of necessity, but I don't believe the same thing happens on OS X. What's up with that?

    Doesn't the DirectX thing stem from an application requesting exclusive access to the primary surface, which was originally in DirectX to make the migration from DOS to Windows a lot easier for game developers. I also have a recollection that it was finally removed in Windows 7, but that may be my memory playing tricks on me.

  • User profile image
    rhm

    AndyC said:
    W3bbo said:
    *snip*

    Maybe that's because OS X users are less inclined to sit on Apple forums b*tching about changes to the UI? Wink

     

    More importantly, there are only a handful of machines on which OS X is officially supported on. Which means it's very easy for Apple to try it out across the range and be sure that performance is acceptable. Windows is in a much harder realm because you can never be entirely sure what combination of hardware it's going to encounter. So there is always a trade off around supporting the bottom end of the hardware spectrum.

    Mac users do their share of bitching about UI changes. Google "FTFF".

     

  • User profile image
    W3bbo

    AndyC said:
    W3bbo said:
    *snip*

    Doesn't the DirectX thing stem from an application requesting exclusive access to the primary surface, which was originally in DirectX to make the migration from DOS to Windows a lot easier for game developers. I also have a recollection that it was finally removed in Windows 7, but that may be my memory playing tricks on me.

    If that was the case, the exclusive mode shouldn't disable Aero, but it still happens.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.