Jump to content

Aero Glass for Win8.1 RTM RC3


Recommended Posts

Actually, there is one thing in AeroGlass which can increase CPU usage a bit when playing videos or in fullscreen - in Win7/8, glass safety zone is not used when rendered primitive does not contain glass, I use it always because I did not find a way to detect whether there is glass or not (internal DWM flag does not exist anymore). However, the difference would be hardly noticeable (it can be found in the ETL file above but not under the branch with highest CPU usage - try to find CHwndRenderTarget::RenderDirtyRegion). Btw, I don't know why but loading this ETL says me that my PDB file is unmatched although it matches beta 3 DLL.

In VMWare, I noticed a strange thing which is, I guess, the problem of VMWare display driver - when multiple displays are used, the stuff rendered in the second display is very jerky. But it happens even without Aero Glass.

Link to comment
Share on other sites


Actually, there is one thing in AeroGlass which can increase CPU usage a bit when playing videos or in fullscreen - in Win7/8, glass safety zone is not used when rendered primitive does not contain glass, I use it always because I did not find a way to detect whether there is glass or not (internal DWM flag does not exist anymore). However, the difference would be hardly noticeable (it can be found in the ETL file above but not under the branch with highest CPU usage - try to find CHwndRenderTarget::RenderDirtyRegion). Btw, I don't know why but loading this ETL says me that my PDB file is unmatched although it matches beta 3 DLL.

In VMWare, I noticed a strange thing which is, I guess, the problem of VMWare display driver - when multiple displays are used, the stuff rendered in the second display is very jerky. But it happens even without Aero Glass.

Thanks for the analysis, I don't know much about threads, processes, etc..

But I did further trials, that the issue occurs when the 2 monitors have different refresh rates. i.e. main monitor has 100Hz and the 2nd monitor has 50Hz. If I set both to 50Hz, the DWM hogging issue is gone.

Also, if the video is not using DxVA acceleration (pure software decoding), no such issue neither.

Do these give you more clue to the root cause?

Link to comment
Share on other sites

In VMWare, I noticed a strange thing which is, I guess, the problem of VMWare display driver - when multiple displays are used, the stuff rendered in the second display is very jerky. But it happens even without Aero Glass.

That may be an interaction with your host's display driver (resource shortage?). I also use VMware and 2 monitors and the operation of windows on the second monitor is smooth as the first. My host video card is an ATI Radeon 7850 with 2GB.

-Noel

Edited by NoelC
Link to comment
Share on other sites

@infinality: I don´t know how he did it but NoelC uses rounded corners in his theme found on the download page of glass8 homepage.

I took that as a basis and copy/pasted your button colors into it. I did not change the symbols, so now

the win 7 buttons contain win 8 symbols. I like it that way.

Could you do the exactly the same thing instead with the Win8 CP Buttons? They are blended better I think than Win7 style.. no rounded corners...fresher.. less half tone look.

add dark Win8 symbols.. I could like it that way.

http://glass8.berlios.de/themes/win8cp.png

Thankyou!

Edited by ralcool
Link to comment
Share on other sites

@bigmuscle

here the debug log for the rotated screen: http://ul.to/ysnejri8

As you asked, pressing F11 while moving some windows from the main to the rotated screen (in my case: 1920x1080 -> 1200x1600)

Hope it helps you tracking down the issue

I finally got time to analyze the log but I could not find any problem. Rendering does not fail and everything seems to be rendered correctly, so I don't understand what could be wrong.

Link to comment
Share on other sites

Could you do the exactly the same thing instead with the Win8 CP Buttons?

I simply copied the requested spaces from one theme and pasted them into the exact same position in the other theme.

You can do that by yourself...and put together your very own personalized theme that way.

post-383072-0-76858100-1383681149_thumb.

Link to comment
Share on other sites

@bigmuscle

here the debug log for the rotated screen: http://ul.to/ysnejri8

As you asked, pressing F11 while moving some windows from the main to the rotated screen (in my case: 1920x1080 -> 1200x1600)

Hope it helps you tracking down the issue

I finally got time to analyze the log but I could not find any problem. Rendering does not fail and everything seems to be rendered correctly, so I don't understand what could be wrong.

Oh...not good :-/

Are you sure this transformation is correct?

#0: 0, 0, 1920, 40

[0x264] Render blur (0.0, 915.0, 1920.0, 955.0) -> (0, 0)

[0x264] DC: DrawVisualTree: 1124.0, 218.0, 2223.0, 1225.0

[0x264] Preparing glass safety zone (218.0, 897.0, 1225.0, 1200.0), transform (0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 3120.0, 0.0, 1.0), screen (1600.0, 1200.0) - 1

[0x264] DC: DrawVisualTree: 1049.0, 227.0, 2159.0, 1216.0

[0x264] Preparing glass safety zone (1049.0, 227.0, 1920.0, 1080.0), transform (1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0), screen (1920.0, 1080.0) - 1

[0x264] Prepare blur (1013.0, 191.0, 1920.0, 1080.0), transform (1.0, 0.0, 0.0, 1.0, 443.0, 171.0), screen (1920.0, 1080.0) >

Because it should be 1200x1600 (rotated) and not 1600x1200 (non rotated)

Edited by paul70
Link to comment
Share on other sites

It is buffer size which is still 1600x1200 but transformation matrix is:

| 0.0 -1.0 0.0 0.0 |

| 1.0 0.0 0.0 0.0 |

| 0.0 0.0 1.0 0.0 |

| 0.0 3120.0 0.0 1.0 |

which ensures the rotation + translation of rendered rectangle from [1124.0, 218.0, 2223.0, 1225.0] to [218.0, 897.0, 1225.0, 1200.0]. This is correct (and psst, but I copied this thing directly from Win8.1 function), but I probably forgot something.

Does your problem appear always or only under certain condition? (especially order and number of displays)... what if there is only one (but rotated displays)? what if the 1st display is rotated and 2d is not and vice-versa?

Does anybody know if there is some possibility to simulate screen rotation in VMWare?

EDIT: so I have found where the problem is - rendered region is clipped against wrong coordinates.

Edited by bigmuscle
Link to comment
Share on other sites

@bigmuscle

The problem occours always and always in the same way -> after windows start with Aero Glass, the 2nd screen (rotated) is black, the 1st screen is correct and when I move any object from the main screen (non rotated) to the 2nd one (rotated), it "washes" the black screen, the background starts showning in the parts of the screen where the object passes but the moved object is not displayed/is displayed distorced.

I didn't try rotating the first screen...I will try it and report.

Edit:

I just did some tests and the results are always the same. On the rotated screen (independently if it is the main or the second one), the problem always occours: black screen, screen flashes when moving objects like mouse or windows across the screen, etc.

- main monitor non rotated, 2nd monitor rotated -> main screen OK, second screen ISSUE

- main monitor rotated, 2nd monitor non rotated -> main screen ISSUE, second screen OK

Edited by paul70
Link to comment
Share on other sites

I never paid much atention to the blur...do you mean that glow thing around the window title text? If yes, then yes, it does.

NVM, that is not the blur. No, Blur doesn't appear on the rotated screen...

Screenshot coming in a few secs...

Edit:

You mean this, right?

http://abload.de/img/unbenannt-1bxiqe.jpg

Edited by paul70
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...