Jump to content

Aero Glass for Win8 RC4


bigmuscle

Recommended Posts

Yes it works but there is considerable amount of lag when minimizing windows.

In 0.4 or in that private build?

In all versions dude, all versions have lag, I don't care if you fix it or not, but just give me an explanation. I told you, to fix the lag I have to make the GPU gaming profile fixed, but who want 50+C GPU temp in idle/desktop mode... This tells me that your pretty app is hunger for GPU resources, I understand, debug version, alpha, etc. but I still want some answers. Thank you.

Link to comment
Share on other sites


V04 working with DeviceFeatureLevel set to 9100

Odd effect though - if UseDirect2DRendering is set to 0 - inactive borders are transparent & blurred but active window border remains opaque. In addition, immediately after running the app using D3D set, one previously opened but inactive window also appears "active" - i.e. two windows then have solid, active coloured borders.

Link to comment
Share on other sites

Tusticles: look, I have not solution for you yet. But since you said that the problem stays even after DWM hook shutdown, it means that your computer/GPU has poor performance to handle layered windows correctly. I have implemented a small thing to not blend certain layered windows and I am not going to fix it more, because the layered windows are not the priority.

pengipete: it only seems that active borders are opaque, they are still transparent but not much. In Direct3D mode, it uses native DWM shaders which have its own colorization/transparency settings. Therefore I would recommend to set GlassTransparency registry settings to zero or small value else both transparency settings (shader native + GlassTransparency) will be summed up.

Link to comment
Share on other sites

For me, 9300 doesn't work, 9200 doesn't work, but 9100 works great! I am loving this new version (Preview 4, not the private build, which I will refer to as "preview 4.1'). Performance is the same as the Windows 7 OS I had previously on my computer. Thank you!

Link to comment
Share on other sites

This still doesn't work for WPF applications, and based on my knowledge of WPF, I don't think this will ever work until you can ditch layered windows. Until then, could you make this program detect if a particular window is a WPF window, and if it is, render it normally?

Link to comment
Share on other sites

Tusticles: look, I have not solution for you yet. But since you said that the problem stays even after DWM hook shutdown, it means that your computer/GPU has poor performance to handle layered windows correctly. I have implemented a small thing to not blend certain layered windows and I am not going to fix it more, because the layered windows are not the priority.

Poor performance? I have an ASUS G75VW, i7 3610QM, GTX 670M, 12GB RAM... :unsure:

Link to comment
Share on other sites

I got the new test upload working with the following Registry settings. For them to work well, it needs "UseDirect2DRendering" = 1. However, if one needs to drop back to the 0.3 version, they need to set that to 0 instead.

Seems to work fine right now. There is some Trailing if you move an active window over an inactive window. I cant screenshot that however (doesnt show up).

post-374132-0-17204900-1361985819_thumb.

Edited by drakenabarion
Link to comment
Share on other sites

Adding that registry key and value does not work for me. Everything opaque.

you could try also different values - e.g. 0x9100 or 0x9200.

0x9100 works for me - other 2 values do not

It finally works. Using version 0.4 (without the 2 files you posted) it works fine by setting DeviceFeatureLevel to 0x9100

Link to comment
Share on other sites

Adding that registry key and value does not work for me. Everything opaque.

you could try also different values - e.g. 0x9100 or 0x9200.

0x9100 works for me - other 2 values do not

It finally works. Using version 0.4 (without the 2 files you posted) it works fine by setting DeviceFeatureLevel to 0x9100

That is also my configuration, 0.4 with 0x9100. So, Bigmuscle, what does setting it to 0x9300, 0x9200, 0x9100 even do, and would setting it to 0x9000, 0x8900, and 0x9400 be something to recommend to those that still have problems?

Link to comment
Share on other sites

I am testing preview 4 on battery. My laptop is weird. It usually gets 1.5 hours of battery life if I'm lucky, but sometimes it randomly does 2 hours. When I opened it with aero glass, it was at 88% with 62 minutes remaining. Then after checking it periodically it went like this:

62 mins (88%)

44 mins

54 mins

34 mins

40 mins

38 mins

33 mins

34 mins (54%)

My laptop is the weirdest thing in the world, in case you haven't figured it out from the numbers above (which are listed in order from first to last). In the past (preview 1, 2, and 3), I considered using this with a battery a no-no, because it totally robbed battery life, but now it is a bit doable. Someone with a stronger battery might want to run a proper test with this but it looks promising.

Link to comment
Share on other sites

That is also my configuration, 0.4 with 0x9100. So, Bigmuscle, what does setting it to 0x9300, 0x9200, 0x9100 even do, and would setting it to 0x9000, 0x8900, and 0x9400 be something to recommend to those that still have problems?

This settings specifies which set of Direct3D features should be used. For more information you should refer to http://msdn.microsoft.com/en-us/library/windows/desktop/ff476329(v=vs.85).aspx but at this time I can't really say whether it makes some feature/performance difference in DWM when using lower feature level than your graphic card supports. The previous versions used Direct3D debug mode which probably automatically enabled the feature which I need for glass rendering. Although Win8 Desktop Window Manager creates Direct3D 11.0 device, it still uses v10.1 to render windows and borders - but this probably does not happen for some feature levels. I need to study this problem more deeply.

Link to comment
Share on other sites

pengipete: it only seems that active borders are opaque, they are still transparent but not much. In Direct3D mode, it uses native DWM shaders which have its own colorization/transparency settings. Therefore I would recommend to set GlassTransparency registry settings to zero or small value else both transparency settings (shader native + GlassTransparency) will be summed up.

Thanks - that got the transparency noticeable and now I've been able to play around with it, I can probably explain why it it "not working" for some people.

The standard "colour intensity" settings in Windows personalisation settings must be set no higher than roughly 90% otherwise they remain opaque. (it acts as if the colour is pasted over the transparency - you have to lower it to "see through" the colour to the transparent border)

Note...

Inactive window transparency appears to be on or off - it doesn't vary with the colour intentity setting (other than requiring it to be set below maximum)

After that, the registry setting for GlassTransparency kicks in.

If that value is set low, inactive window border are (obviously) very transparent and the colour intensity adjusts active borders from maximum transparency to fully opaque.

If GlassTransparency is set high, inactive window borders are (obviously) only slightly transparent and even on a very low colour intensity setting, active windows may only appear as slightly transparent.

My advice for users/tester for now:- use the GlassTransparency registry setting to get the inactive borders how you like them and then use the Windows Colour Intensity settings to vary the active borders (at least until you're finished and we get a full-on gui for all of the variables in the final version).

I'm thinking that there's something in your code that is not working with the full range of colour intensity (hence that "switch" at ~90%). If you can sort that, it should work for everyone.

(sorry if that's a bit vague - I'm not a tech)

Not been able to get the inactive colouring to work in D3D (I'm really looking forward to having that feature - as much as to the transparency). Any suggestions?

And a request - could you put update information into your first post as you go along as well as announcing new betas within the thread. With so many posts (and not all "on topic" ;)) it's getting a bit difficult to keep track, especially as new registry values appear.

And thank you for this - your time and talent is both appreciated and admired.

And if you or anyone ever comes up with a way to do what "Birdie" did on Amiga's, you'll be guaranteed a place in heaven - I loved that "hack" :)

Link to comment
Share on other sites

Ah, right, when colour intensity is set too high then transparency in D3D mode will gone. This is done by the Win8 implementation. You can even notice that setting full intensity changes the registry settings ColorizationBlurBalance to 0xfffffff6 and API function DwmGetColorizationParameters returns 120% in this case. I automatically disable transparency effect when it returns more than 100% else native shaders draws the border in white colour only.

Inactive colorization should be working but you must place the settings into HKEY_USERS\.DEFAULT (unlike active colorization which is placed in HKEY_CURRENT_USER), because I have been able to impersonate current user to access HKEY_CURRENT_USER of currently logged user yet.

Edited by bigmuscle
Link to comment
Share on other sites

Nope - tried every variation I can and still no colour for inactive borders in D3D. I'm probably doing something really silly and obviously wrong but I can't spot it - DOH!

Can anyone else confirm that they got inactive borders coloured under D3D?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...