Yay or nay? Made an app that adds Aero Glass, Start Menu on Windows 10


Recommended Posts

5 hours ago, MeowPurr said:

Hi. Good question. When Microsoft shipped Windows 8 back in 2012 they have repeatedly said they have removed Aero Glass because of performance/battery life issues. And that is completely not true for two reasons: First, with Windows 8 hardware-accelerated graphics are used system-wide. Composition, specifically the DWM, which renders every window as a 3D polygon cannot be disabled starting with Windows 8. This means that the graphics hardware is being used continuously, which is a good thing. Graphics hardware are better and more efficient at, yes, graphics rendering than CPUs. So even if there was a battery life issue when using desktop composition (required for Glass) it wasn't the reason it got removed because composition is everywhere (even more so in Windows 10). The second reason is that the glass effect incurs no performance hit since the way DWM is designed windows are overlaid on top of each other and if you basically don't draw anything in a window everything behind it will be shown (I'm talking about non-client window areas). As for the blur or frosty glass effect, it uses an extremely simple pixel shader (I mean, blurring a bunch of pixels? It really means absolutely nothing for a modern graphics processor, even a mobile one) rendered on a polygon behind the window which again, is not a lot more performance heavy than say, the 3D shadow effect around a window. In any case, how hard could have been to add a toggle, or even separate themes for the glass effect? Answer: not hard at all. They originally didn't want people to spend time on the Desktop UI but on the ridiculously fullscreen (thank god we got rid of that) Modern UI apps.

Well, yes and no, Glass requires the DWM, and the DWM is always used as of 8+, but that doesn't mean you always have hardware acceleration. The DWM just uses software rendering mode if the GPU sucks (And you really don't want to do Glass in that situation)

 

And even with full hardware acceleration, overdraw is slower than non-overdraw. By limiting the amount of a surface can be transparent, you get performance benefits on the GPU side because it doesn't have to sample multiple textures to render a pixel (And that's just simple translucent surfaces, like window shadows, Glass did blurring/tinting for every single surface behind it)

 

And of course it reduces memory consumption, you can use RGB surfaces instead of ARGB surfaces for your window backing store by default.

  • Like 2
1 hour ago, The_Decryptor said:

Well, yes and no, Glass requires the DWM, and the DWM is always used as of 8+, but that doesn't mean you always have hardware acceleration. The DWM just uses software rendering mode if the GPU sucks (And you really don't want to do Glass in that situation)

 

And even with full hardware acceleration, overdraw is slower than non-overdraw. By limiting the amount of a surface can be transparent, you get performance benefits on the GPU side because it doesn't have to sample multiple textures to render a pixel (And that's just simple translucent surfaces, like window shadows, Glass did blurring/tinting for every single surface behind it)

 

And of course it reduces memory consumption, you can use RGB surfaces instead of ARGB surfaces for your window backing store by default.

All my DWM tinkering has been done on Windows 10 so maybe certain things have changed from Windows 8/8.1. As for the software rendering mode, it only exists so that DWM can be enabled at all times, for example when your regular video card driver gets disabled. But it really exists for extreme user cases (and possibly server configurations) since (unless using a powerful CPU) it is much slower than even the most basic graphics cards. Windows 7 has shown that Aero Glass runs wonderfully on extremely low-end graphics hardware. I myself have had Aero Glass running smoothly on a Geforce 5200 or the measly GMA adapter on a 2009 Asus Eee PC netbook. To put things into perspective, the 5200 gets a 7 in the Passmark GPU benchmark while the Atom Z3735G SoC included in a popular low end Windows tablet, the HP Stream 7, gets 105. I don't think these devices would have a performance hit when running a blur pixel shader. In any case, this feature can be disabled either by user request or on the fly if the device is running on battery or software rendering mode. Choice is the key here. And I would dare to say that most Windows 8.1+ installs have some sort of hardware accelerated graphics device available.

 

Looking at DWM internals you can clearly see they are using premultiplied BGRA pixel formats at least on non-client areas, so even if alpha information is not being used in some places, it's still being allocated. And in the case of my program, the blurry surfaces are being cached and not re-generated unless you resize/move/open/close a window, so most of the time it's not doing anything extra. My relatively high DWM memory usage is due to the fact that I'm using debug versions of my software (that already adds significant overhead) and I'm not doing any kind of cleanup/memory leak checks yet. I just wanted to have a proof of concept and some feedback before continuing (one of the biggest rules of programming is, premature optimization is the root of all evil :laugh:).

 

In any case, I may not be right, and I'm no graphics programming expert, but the evidence for their claim of performance issues with Aero Glass is just not there.

Edited by MeowPurr

@OP, Glass for the taskbar and Start Menu (the built-in one and third party menus) is possible in Windows 10, right? But not glass in the title bar area, so your project is very welcome. :) The visual style (theme) that you are using in your screenshots also appears to be a 3D-looking one like Windows 7?

15 minutes ago, patseguin said:

I like the idea, but for some reason it doesn't look quite right with Windows 10 style windows. Is it just me?

 

You mean the sharp angles of Windows 10 style windows?  I think the glass looks fine on it ... I even prefer the sharp angles over the slight rounded 7 windows.  

On 4/28/2016 at 10:41 PM, MeowPurr said:

In any case, I may not be right, and I'm no graphics programming expert, but the evidence for their claim of performance issues with Aero Glass is just not there.

I read where it is not Glass but Aero itself that is a problem. Vista was loaded with it and it slowed the performance.

14 minutes ago, onewarmslime said:

I'm all ears!

 

 

14 minutes ago, onewarmslime said:

I'm all ears!

Windows Aero incorporated the following features in Windows Vista.

Aero Glass theme: The main component of Aero, it is the successor of Windows XP's "Luna" and changes the look and feel of graphical control elements, including but not limited to buttons, checkboxes, radio buttons, menus, progress bars and default Windows icons. Even message boxes are changed.[2]

Windows Flip improvements: Windows Flip (Alt+Tab) in Windows Vista now shows a live preview of each open window instead of the application icons.[3]

Windows Flip 3D: Windows Flip 3D (Windows key+Tab) renders live images of open windows, allowing one to switch between them while displaying them in a three-dimensional view.[4]

Taskbar live thumbnails – Hovering over the taskbar button of a window displays a preview of that window in the taskbar.

Desktop Window Manager (DWM) – Due to the significant impact of the new changes on hardware and performance, Desktop Window Manager was introduced to achieve hardware acceleration, transferring the duty of UI rendering from CPU to graphic subsystem. DWM in Windows Vista required compatible hardware.

Task Dialogs: dialog boxes meant to help communicate with the user and receive simple user input. Task Dialogs are more complex than traditional message boxes that only bear a message and a set of command buttons. Task Dialogs may have expandable sections, hyperlinks, checkboxes, progress bars and graphical elements.[5]

Windows 7

Aero Peek, showing the desktop

Windows Aero is revised in Windows 7, with several UI changes, a more touch-friendly UI and many new visual effects and features, including mouse gestures:

Aero Peek: Hovering over a taskbar thumbnail shows a preview of the entire window. Aero Peek is also available through the "Show desktop" button at the right end of the taskbar, which makes all open windows transparent for a quick view of the desktop. A similar feature was patented during Windows Vista development.[6]

Aero Shake: Shaking (quickly dragging back and forth) a window minimizes all other windows. Shaking it again brings them back.

Aero Snap: Dragging a window to the right or left side of the desktop causes the window to fill the respective half of the screen. Snapping a window to the top of the screen maximizes it. Windows can be resized by stretching them to touch the top or bottom of the screen, which fully increases their vertical screen estate, while retaining their width, these windows can then slide horizontally if moved by the title bar, or pulled off, which returns the window to its original height. In spite of the "Aero" moniker, this feature is available if one uses the Classic theme.

Touch UI enhancements: Windows Aero was revised to be more touch-friendly. For example, touch gestures and support for high DPI on displays were added.[7]

Title bar of maximized windows remain transparent instead of becoming opaque.

The outline of non-maximized windows is completely white, rather than having a cyan outline on the right side and bottom.

When hovering over the taskbar button of an open program, the button glows the dominant RGB color of its icon, with the effect following the mouse cursor.[8]

Progress indicators are present in taskbar buttons. For example, downloading a program through Internet Explorer causes the button to fill with color as the operation progresses.[9]

Windows 8

While retaining interface elements introduced by Vista and 7, Windows 8 and Windows Server 2012 made changes to the visual appearance of the operating system that incorporate the Metro design language. As a result of these changes, the Aero Glass theme was replaced by a flatter, solid colored theme. Most transparency effects were removed from the interface, aside from the taskbar, which maintains transparency (but no longer has a blur effect).[10][11] Flip 3D was also removed; ⊞ Win+Tab ↹ now switches between Modern Apps.

In comparison to Windows 7, the interface adopted a flatter look with almost no transparency effects, fewer rounded edges, and solid colored window borders, despite many commenters' protests. Pre-release versions of Windows 8 used an updated version of Aero Glass with a flatter, squared look, but the Glass theme was ultimately removed for the final version.[12][13]

 

Source :https://en.wikipedia.org/wiki/Windows_Aero

 

7 hours ago, rcm said:

Where the hell did my last post go??? It wasn't trolling, inflammatory or arguing with anyone and was on topic...  :angry:

I know right? I think I posted a comment in page 2 that got removed as well. Guess criticizing Microsoft gets your post removed? Oh well.

 

On 4/28/2016 at 6:57 AM, UXGaurav said:

@OP, Glass for the taskbar and Start Menu (the built-in one and third party menus) is possible in Windows 10, right? But not glass in the title bar area, so your project is very welcome. :) The visual style (theme) that you are using in your screenshots also appears to be a 3D-looking one like Windows 7?

I guess the main issue is that Windows 10 has removed at least 35% of theming functionality previously supported. So I'm slowly adding back theming for the Taskbar, built-in Start Menu, Live Previews, Network flyout, Action Center, and windows frames (lots of metrics are no longer customizable, I guess because of better DPI support, but it's def possible to have both). As for third-party menus, I guess it depends on the developer. Mine adapts to the theme but as you can see the built-in one does not include theming data for the classic Start Menu. About the titlebars, it's been mentioned a few times, are you guys referring to Modern/UWP apps? Because sadly UWP app titlebars are completely owner-drawn so unless I inject my library and override their drawing code (which I won't ever do), the only thing I may be able to do is blend the top part with a regular windows frame. Note that I'm talking about UWP apps, regular Win32 ones behave just like in Windows 7, you can even have extended borders as you can see in this picture:

Capture.PNG

(It all looks awful in so many ways but it's for illustration purposes)

 

3 hours ago, Gary7 said:

I read where it is not Glass but Aero itself that is a problem. Vista was loaded with it and it slowed the performance.

I normally use the terms Aero and Aero Glass interchangeably. You can have Aero Glass with opaque windows in Windows 7 but composition is still required. The Aero Basic theme (I think that's what it was called) is not composited and uses the old rendering engine instead. In any case, all Windows versions starting with 8 are normally "loaded" with composition, no matter what theme are you using (even the High Contrast ones). The problem is yes, the DWM in Vista was very slow. In fact, memory consumption increased linearly with the number of windows opened. Crazy right? This great blog post details all the optimizations that went into the DWM before the release of Windows 7. Regardless, Windows Vista set the foundations, albeit unoptimized, for many important modern Windows features, from rendering to power-saving to security ones, like the UAC. Both Windows 7 and 8 refined these features under the hood. In my opinion, Windows 10 is the version that got the least under the hood changes probably since Windows XP or maybe Windows ME, which is not necessarily a bad thing since for all intents and purposes, the Windows core today is rock solid.

  • Like 3
5 minutes ago, MeowPurr said:

<snip>

Man, I'm glad to see that you're picking this up! I can't wait to see how well this is going to work! (That is, unless you charge $ for it, which I'd understand, but I can't even afford to pay attention right now. Still homeless, and couch surfing....looking for a job....) I just sat down at a 7 machine the other day for the first time in ages....and although it wasn't 10, it sure was nice to see that familiar glass that myself, and many others like me enjoy. Keep up the good work, those screenshots are awesome!

On 4/27/2016 at 7:28 PM, 7Dash8 said:

Microsoft isn't really neglecting desktop users, they're just trying to herd us all into their idiotic Windows Store walled garden. Not so much neglect as outright abuse :)

 

Anyway good job with the app - despite what MS (and the usual suspects here on Neowin) say, greater user choice is always a good thing. Look forward to it coming out soon.

I'll buy that.

1 hour ago, MeowPurr said:

I know right? I think I posted a comment in page 2 that got removed as well. Guess criticizing Microsoft gets your post removed? Oh well.

Hmmm, criticizing Microsoft is now an apparent offense on Neowin...:rolleyes:

 

Despite Microsoft's refusal to properly reintroduce glass, a lot of people would still like to see it back, myself included. Your tool could well fill a hole that other tools could fill but due to dodgy licensing reasons, have failed to. :)

About pricing - I think the community really needs now a reliable solution for Windows customization, not just Aero Glass. In fact, I wouldn't like to be using the Aero Glass theme all the time, ideally I would like to switch themes every month.

I have developed a couple of free and open source projects, including TouchEnabler which in part became the foundation for this Aero Glass project. The problem is that like many other open-source projects, developers have very little time to polish them or even make them usable for regular folks. That's what happened with TouchEnabler, even though it is free and extremely extensible it went unnoticed and commercial solutions surfaced which seem to be far more successful than my little app (I'm also not good at marketing or even just getting the word out). I'm definitely not planning to make a living out of this project, I have a day job as a developer and have a few hours left in the weekend to use for this project. And it's not like you could make lots of revenue out of customization software, even Stardock has moved on. So I'm looking at the possibility of maybe starting a little Kickstarter to fund development of this project from early alpha (today) to a release candidate. And the Aero Glass part is just a tiny feature of it all. I have been researching how to get customization on modern Windows ever since msstyles stopped being supported altogether. Back in 2012, one day I couldn't boot up my main Windows 8 computer because of a seemingly innocuous tiny Windows update. After installing the update, the system wouldn't start because for some reason it needed the vanilla aero.msstyles set as the default theme. Technically speaking, updates introduce new code which in turn need new .msstyles resources that because of poor design make the entire system unable to boot, either by showing a black screen at logon or, more recently, a blue screen. So today, if you have a custom theme and you get a new update (every day as of Windows 10), your computer may not boot up next time. And speaking of Windows 10, msstyles have become such a vestigial feature that as I said earlier most of the system-wide UI is not customizable. To fix this and before adding back Aero Glass I made a new version-independent theme format that in part gets translated to msstyles at run time or is loaded by my library directly; I had to make a new theme editor to go with it not just because of the new format but also since the only existing theme editor (short of hex value editing) is not only paid, closed-source but also has not been updated in more than 4 years. It's all in very early stages and so far all my testing has been done on a VM. Anyway, sorry for the word vomit :s and thank you for your encouraging comments.

  • Like 2
52 minutes ago, MeowPurr said:

About pricing - I think the community really needs now a reliable solution for Windows customization, not just Aero Glass. In fact, I wouldn't like to be using the Aero Glass theme all the time, ideally I would like to switch themes every month.

Would be fantastic to see the windows customization scene come back to life. The XP days were a lot of fun!

 

Though I never really cared for the actual Aero Glass theme, I always liked the transparency & blur effect.

3 minutes ago, Lamp0 said:

Would be fantastic to see the windows customization scene come back to life. The XP days were a lot of fun!

 

Though I never really cared for the actual Aero Glass theme, I always liked the transparency & blur effect.

I miss the custom bootup and shutdown sounds mine had (have the sound files, but wasn't prepared to hack them into 7)

On 27/04/2016 at 9:27 AM, goretsky said:

Hello,

 

My understanding is that Aero Glass was removed to improve battery runtime on tablets.  Do you have any idea yet if the changes made by your program affect battery runtime significantly?

 

Regards,

 

Aryeh Goretsky

 

It wasn't. The UI in Windows 7 was hardware accelerated, it still is hardware accelerated in Windows 10. The difference made by transparency is completely negligible. It was done for the simple reason that glass doesn't fit into the flat and ugly visual mantra.

On 4/30/2016 at 2:14 PM, MeowPurr said:

About pricing - I think the community really needs now a reliable solution for Windows customization, not just Aero Glass. In fact, I wouldn't like to be using the Aero Glass theme all the time, ideally I would like to switch themes every month.

I have developed a couple of free and open source projects, including TouchEnabler which in part became the foundation for this Aero Glass project. The problem is that like many other open-source projects, developers have very little time to polish them or even make them usable for regular folks. That's what happened with TouchEnabler, even though it is free and extremely extensible it went unnoticed and commercial solutions surfaced which seem to be far more successful than my little app (I'm also not good at marketing or even just getting the word out). I'm definitely not planning to make a living out of this project, I have a day job as a developer and have a few hours left in the weekend to use for this project. And it's not like you could make lots of revenue out of customization software, even Stardock has moved on. So I'm looking at the possibility of maybe starting a little Kickstarter to fund development of this project from early alpha (today) to a release candidate. And the Aero Glass part is just a tiny feature of it all. I have been researching how to get customization on modern Windows ever since msstyles stopped being supported altogether. Back in 2012, one day I couldn't boot up my main Windows 8 computer because of a seemingly innocuous tiny Windows update. After installing the update, the system wouldn't start because for some reason it needed the vanilla aero.msstyles set as the default theme. Technically speaking, updates introduce new code which in turn need new .msstyles resources that because of poor design make the entire system unable to boot, either by showing a black screen at logon or, more recently, a blue screen. So today, if you have a custom theme and you get a new update (every day as of Windows 10), your computer may not boot up next time. And speaking of Windows 10, msstyles have become such a vestigial feature that as I said earlier most of the system-wide UI is not customizable. To fix this and before adding back Aero Glass I made a new version-independent theme format that in part gets translated to msstyles at run time or is loaded by my library directly; I had to make a new theme editor to go with it not just because of the new format but also since the only existing theme editor (short of hex value editing) is not only paid, closed-source but also has not been updated in more than 4 years. It's all in very early stages and so far all my testing has been done on a VM. Anyway, sorry for the word vomit :s and thank you for your encouraging comments.

What do you mean that VistaStyleBuilder hasn't been updated in 4 years? There's the 1.5.6.3 beta that supports up to Win8.1, and people in the community have updated the ClassMaps to import older themes into Win10 TH2 and RS1. In fact, I have the latest release and it works fine.

This topic is now closed to further replies.