Solved Fullscreen cause white cast and delay when switch to other tab

Welcome to our Community
Wanting to join the rest of our members? Feel free to sign up today.
Sign up
Status
Not open for further replies.

Sktzy

Member
Registered
Joined
Jun 17, 2024
Messages
29
Reaction score
2
Points
8
Hello, first thing first. Iam using Retail v21.2 source. I just want to ask why when I go fullscreen mode and switch tab, it get little delayed and a white cast will show. example is 2nd neuz client or browser. And been there for a long period of time and switch back, you'll get a freezed whitecast client and need to force shutdown on task manager in order to close it. (Way worse when you go dual client :/). Been trying to explore it on dxd3dapp and Neuz.cpp but can't find the reason. Is it always like that because of different network structure of retail 21.2 ? Or what 🤔🤔
 
The 21.2 source code has all implementations to handle device lost/reset, but the issue lies with modern Windows (such as Windows 11) and its compatibility with older DX9 APIs, especially in full screen mode. The problem can be addressed or mitigated by navigating to the application's properties, selecting compatibility, and checking the box to disable fullscreen optimizations.

1.png
 
The 21.2 source code has all implementations to handle device lost/reset, but the issue lies with modern Windows (such as Windows 11) and its compatibility with older DX9 APIs, especially in full screen mode. The problem can be addressed or mitigated by navigating to the application's properties, selecting compatibility, and checking the box to disable fullscreen optimizations.

View attachment 236
Thanks for a fast reply and learnings!, I tried this and sadly the problem did not solved.. did I do something wrong? I did compared it to L18 and L15 it seems fine even if I switch tab it always run and not pause like on retail v21.2
 

Attachments

  • 1721256140359.png
    1721256140359.png
    104.7 KB · Views: 11
  • 1721256268591.png
    1721256268591.png
    61.8 KB · Views: 11
Last edited:
I just want to make it act like when it is in windowed mode.. but on full screen :D I also forgot to mention when left for a long period of time and switch, you get dc, you get no message but your character can't do anything like send a message, or anything but you can walk. a delay I guess
 
Thanks for a fast reply and effort!, I tried this and sadly the problem did not solved.. did I do something wrong ?
This worked for me on 1440x900 , since i not implemented a full HD resolution in my project.
Be sure that your Game is set to a full screen resolution that's your driver/monitor can handle, and avoid any app thats hooks into present , like OBS, MSI Afterburner(riva turner overlay), Xbox Game bar...etc...

Tested here on windows 11 22h2(22631.3880) and Nvidia Studio Drivers 555.99 on my 3070.

There is a possibility that this will not work on all systems/hardware, as it is a Windows compatibility issue with old DirectX. Personally, I always prefer to use windowed mode or a fake fullscreen (borderless fullscreen).
 
  • Like
Reactions: Sktzy
I guess its my system fault. So i mark it as solution :D thanks man appriciate your effort on solving my problem. Keep up the goodwork bro 😊
 
Im curious though, how can i make it fake fullscreen, I did notice on L18 there is this line of code. and find out in retail 21.2 it didn't have this m_bFakeFullMode
 

Attachments

  • 1721259709379.png
    1721259709379.png
    38.8 KB · Views: 8
Im curious though, how can i make it fake fullscreen, I did notice on L18 there is this line of code. and find out in retail 21.2 it didn't have this m_bFakeFullMode
Basically it is to run the application in windowed mode, with full desktop size, remove the borders, and set it with HWND_TOPMOST to appear above the Windows taskbar

I'm not too familiar with most of Flyff releases, but in general is something like this:



on CD3DApplication::Create
Hey There!
Please login and(or) register to see this awesome content today.

HWND_TOPMOST : Will force the window to be above the others(including the Windows taskbar).
WS_POPUP : It's a clean style, without Title and borders.

You can get the desktop resolution dynamically with GetSystemMetrics(SM_CXSCREEN) and GetSystemMetrics(SM_CYSCREEN)...but, some adjusts are needed based on resolution(to not mess with flyff taskbar)...

Probably you need to implement something like this on your WindowProc when alllowing multiple clients:
Hey There!
Please login and(or) register to see this awesome content today.
 
  • Like
Reactions: Sktzy
I thought this was solved but it appears not. I reopened this for now.
 
  • Like
Reactions: Sktzy
Thankyou zombie!, Yes Im still figuring it out xD, My guess is in retail, they remove or disable the borderless fakefullmode thing for some reason.. that's why when I tried your L15 and 18 source were it has fakefull mode codes, it acts like when it is in windowed mode but in fullscreen mode borderless mode. xD
 
  • Like
Reactions: zOmbie
Basically it is to run the application in windowed mode, with full desktop size, remove the borders, and set it with HWND_TOPMOST to appear above the Windows taskbar

I'm not too familiar with most of Flyff releases, but in general is something like this:



on CD3DApplication::Create
Hey There!
Please login and(or) register to see this awesome content today.

HWND_TOPMOST : Will force the window to be above the others(including the Windows taskbar).
WS_POPUP : It's a clean style, without Title and borders.

You can get the desktop resolution dynamically with GetSystemMetrics(SM_CXSCREEN) and GetSystemMetrics(SM_CYSCREEN)...but, some adjusts are needed based on resolution(to not mess with flyff taskbar)...

Probably you need to implement something like this on your WindowProc when alllowing multiple clients:
Hey There!
Please login and(or) register to see this awesome content today.
Thankyou for idea's fliperworld !, appriciate it so much !!
 
Thanks for a fast reply and learnings!, I tried this and sadly the problem did not solved.. did I do something wrong? I did compared it to L18 and L15 it seems fine even if I switch tab it always run and not pause like on retail v21.2
I know this might seem like a basic question, but did you check if the game is still running when you switch back to it, or did you only look at the taskbar thumbnails?

The reason I ask is that in 'real fullscreen mode,' Neuz.exe will stop rendering, leaving the screen blank when it is not the active window.

Here’s how it looks on my PC, recorded with the NVIDIA app.



I really don't like the 'real fullscreen mode' , is too slow to switch, and has too many compatibility issues on some hardwares.
 
I know this might seem like a basic question, but did you check if the game is still running when you switch back to it, or did you only look at the taskbar thumbnails?

The reason I ask is that in 'real fullscreen mode,' Neuz.exe will stop rendering, leaving the screen blank when it is not the active window.

Here’s how it looks on my PC, recorded with the NVIDIA app.



I really don't like the 'real fullscreen mode' , is too slow to switch, and has too many compatibility issues on some hardwares.

fullscreen mode on flyff is a shitshow lol.
 
  • Haha
Reactions: Sktzy
I know this might seem like a basic question, but did you check if the game is still running when you switch back to it, or did you only look at the taskbar thumbnails?

The reason I ask is that in 'real fullscreen mode,' Neuz.exe will stop rendering, leaving the screen blank when it is not the active window.

Here’s how it looks on my PC, recorded with the NVIDIA app.



I really don't like the 'real fullscreen mode' , is too slow to switch, and has too many compatibility issues on some hardwares.

Yes yes ! this is what I mean !, I see, so it is always like that on retail v21.2. I should have also record it in the first place though xD, the only way solution I can see now is apply the fullscreen borderless natively in the source so that it will act like when it is in windowed mode like on L18 & L15 of zombie or use a 3rd party program that will make neuz.exe fullscreen borderless :D
 
And about your question yes it is running :), but when you switch to other tab and stay there for a few minutes lets say 5 mins to 10 mins and switch back again to neuz.

Its either you get a fullscreen white cast where you need to force close it on task manager or your client will act weird like it get DC but without the message box that says "Disconnected." because you can't do anything beside walking in the game.
 
So have you solved this or made any progress it's been awhile since a post was made :unsure:
 
This is closed since @Sktzy has been on the site but ignored responding.
 
Solution
Status
Not open for further replies.