-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not working after creators update #12
Comments
Some ugly working version: in DirectXOverlayWindow.cs:
OverlayFormClass;
|
Any idea the cause? |
Yeah it seems like it is with the Color.Transparent... If i set the backcolor of my form1 to Color.Transparent and the then it is the same way invisible :( With my solution, i am loosing the transparent/alpha channel as it is calculated against black instead of the pixels of the overlayed app. Seems like this guy has a similar problem: http://stackoverflow.com/questions/43615946/c-d3d9-alpha-blending-with-creators-update But i am not deep enough in my knowledge with DX to get a solution out from his posts. |
Interesting, I ask because recently we have had a bug in another overlay where for some users it produces a black screen, for others, it works fine. Did the example you posted above actually work? The "Some ugly working version:"? |
Yes, thats what i am using currently.. just the alpha channel from brushes is not working correctly anymore. |
Guess what? I just rebooted after the creators update and have hit this :) |
@weltmeyer your little hack above made no difference for me. I'm overlaying a DirectX11 app. |
Ok.. now that is a little odd.. it works now after a reboot |
And stopped working again (not even rebuilt app).. |
@inorton Are you running any other overlays such as discord or some graphics settings software? |
Hi @lolp1 turns out my "breakages" were actually my-fault. The hack is working for me (at least as well as the non-hack before the creators update). I am however having quite frequent crashes when switching windows (except of course when the debugger is attached) I'll open a bug when I have a concrete way of reproducing it |
The SharpDx overlay isn't working for me on the fall creators update, yatodev also acknowledged it's because of that update, can't find a solution yet. |
@I-M-I The answer is posted by @weltmeyer seems to work for me. @inorton Could you show me (or skype me if you wish to not share code publicly at JacobKemple@outlook.com) your render loop or give some more context about your application? Because crashing while switching windows often could be an issue directly related to Process.NET |
I was curious about this and tried an old overlay I was using. To my surprise, it still seemed to work. Maybe this helps..? I am using
|
@inorton Ensure you use the dispatcher for the main UI thread for any operations. @fjdumont
When you say the most impact, do you mean one works and one doesn't? |
@inorton I got confused in the conversation and edited your reply.. instead of just make a new one. So here it was "@inorton Ensure you use the dispatcher for the main UI thread for any operations." and @fjdumont
|
how do i apply this fix? |
Never mind I figured it out, but it is very glitchy. It flashes really fast, freezes and crashes |
@njbrown09 @hashcoin-project |
Is there any chance this will be resolved? I just tried code from second comment here, compiled new Overlay.NET dll and included it into DEMO - its really buggy, what is more its making new window ;/ |
yeah, the fix really dosent work |
@lolp1 i applied the fix, it flickers and crashes a LOT. I cant go more than 30 seconds without it glitching out |
whats weird is that it also dosent work on my windows 7 machine. My home windows 10 machine it works on, but my friends windows 10 (latest update) machine it dosent work on, but it also dosent work on my windows 7 computer |
anyone able to fix this? or at least point me to a way to externally draw an overlay with directx |
@njbrown09 I have it working reliably with a alternative method but it does flicker a bit https://github.com/inorton/EDMCOverlay |
Adding in to this conversation, I on my laptop with Intel graphics and another user of a mod loader I've been working on have hit this after not the Creators but the Fall Creators Update (1709). The code for the external overlay is very similar to this project and relies of setting window extended flags as WS_EX_LAYERED and WS_EX_TRANSPARENT followed by the use of SetLayeredWindowAttributes to LWA_ALPHA. My Radeon GPU powered desktop machine works fine though under the same OS. Trying to dig in, in my case here it appears that WS_EX_LAYERED and WS_EX_TRANSPARENT are not working correctly in tandem, the window isn't clickthrough and there is no transparency (although the overlay still works). Considered and tried using DwmEnableBlurBehindWindow to see if that'd make at least a change to give transparency although seems that's a no. After many experimental hacks to try getting it to work as-is, I believe that WS_EX_LAYERED is broken and at fault. |
Try as I might I could not get alpha blending to work, so Overlay.NET is setup to use black as a mask colour (any black pixels are transparent). |
Will look into it shortly. |
I should also perhaps mention. I've also tested things with Insider Preview build 17035 (wasn't getting any newer builds) and now having WS_EX_LAYERED as an extended window style also causes my own overlay to fail to stay topmost of other windows (TopMost is set via changing the WinForm property in C#, not natively). This is of course in addition to lack of transparency and hit testing (although it shouldn't with WS_EX_TRANSPARENT when WS_EX_LAYERED is set). It sounds like they're working on something in the back end and have been for a while, perhaps they haven't started or done the necessary testing and pushed a few too many changes to production. Might it be something in the works to do with Fluent Design breaking things? I've also not tested replacing the .NET Window/Windows Form with a salf made native window created via P/Invoke (I.e. declare WNDCLASSEX, register class with RegisterClassEx and create window with CreateWindow), however it'd be weird if this only affected windows created by/managed by the .NET Framework. Away from home and my main PC with an SSD so it's a pain to test as each new build takes a while to install and as Microsoft doesn't always have a download for the latest build in the fast ring, I have to download an older one then update to latest build via Windows Update. My low-mid end laptop takes almost if not two hours to update build. Tested 4-5 builds so far, things start breaking with 1709 Fall Creators Update, although likely it started earlier on some Insider Build up till then which we probably wouldn't find on the web anymore. On the same hardware, everything is fine on my end both in 1703 and anything prior, including any OS version down to Windows 7. I'm not rolling Virtual Machines but actually testing on real hardware. That aside, there's been a relatively huge build that released yesterday, haven't had the chance to give that a go. |
Ive managed to get it to work with a little trickery. At least for notepad. Problems detected: is illegal, use this instead: (https://docs.microsoft.com/en-us/windows/desktop/winmsg/about-window-classes#elements-of-a-window-class) (a.k.a Its a system only class) Because we are using a layered window (0x80000 //WS_EX_LAYERED) we need to call
Did a lot of other stuff with my code to, but think those two steps are the ones that matter. Over and out |
I would not have thought that out of all threads; this one would have come back. I actually managed to get D2D working over a WPF overlay since that time; and actually built a few overlays into a Mod Loader/Hacking Library of mine (Reloaded-Mod-Loader/Reloaded-Overlay) but this sounds very interesting nonetheless. Since I think my laptop still exhibits this - I might try installing Win10 on it and checking this out over a quick dual boot; but if you did get this right - the key would specifically be Kind regards ^-^ |
I currently have a fully working, non-flickering overlay working in my solutions. However, I did not use Overlay.NET, but copied and adjusted pieces of the code in this library for my use cases. |
I too went with a different implementation over at https://github.com/inorton/EDMCOverlay feel free to borrow bits of code according to the license :) |
@fjdumont sure, I would like to update the project anyways. @inorton thanks will look. |
Hi, I'm working on the problem. I have write 2 simple programs in C++ and C# that does exactly same think. They draw a red alpha semi transparent line. What I know now :
I keep you informed of my progress. |
Hey, sorry for the late response. This is really simple, but seems to work for me without any problems:
However, I was not able to reposition the D3D device for bordered windows properly, so I'm currently reinstantiating the device. |
Yes, cause In my tests I dont use |
I found a lot of problems with
|
@xaviermonin fixed it. |
Hi,
the directX overlay is not working after the windows 10 creators update, even the demo with notepad is not showing anything on the app
The text was updated successfully, but these errors were encountered: