How to replicate the bug: 1. Open up any game on ROBLOX, one which might be a little demanding (e.g. FRONTLINES for higher-end users). 2. Try to get as little FPS as possible by cranking up the graphics, opening other games. Preferably you want 15 fps and under. 3. Spam the F11 key (OR Fn+F11 on laptop (if you have not changed the setting)). 4. It should glitch from fullscreen to not fulscreen in a glitchy manner. 5. To close the app, either try to press the ‘X’ button. If that does not work, try alt+F4 OR force close it via Task Manager.
I think this is normal. It happens in a lot of D3D10 apps as well iirc.
I do not think this is a glitch. The window simply takes time to resize, and the GPU sometimes must switch from windowed to full screen mode. The artifacts you are seeing are the window being resized before its contents are resized, and I do not know if it is even possible on the application level to resize both the content and window at the same time in the same frame.
You will notice that this happens when you resize the application using the resize method on the application. In the application menu, click Size:
Then resize the window. You will notice that it is always about one frame behind, and resizing it outward causes the window to show and when you stop resizing outward, the contents will cover the part that was recently expanded.
This may just be a limitation of Direct3D but I’m not sure.
Roblox has been supporting Direct3D11 since a long time and would only resort to using Direct3D10 on very old hardware that doesn’t support 11. My laptop supports Direct3D12, and Roblox uses 11, and the bug occurs for me as well.
So do I, My laptop can support DX12, but instead of ignoring this, why don’t they migrate do DX12?
I’ve tried graphics programming with libraries like OpenGL but i never got to changing versions. I’ve heard that DX11 → DX12 will make things run smoother due to the multi-core compatitability, however the API is lower level. Also some games perform differently for different DX versions.
They use Metal on iOS, iPadOS, and MacOS and also use Vulkan on Android devices that support it. Both are modern low-level APIs that are equivalent to Direct3D/X12, yet Roblox for whatever reason isn’t supporting it on Windows even though they support modern low-level APIs on other platforms. I think they should either support Vulkan or Direct3D/X12 or both on Windows.
Yes, it is an alternative graphics mode. Roblox will usually run in D3D11.
Roblox should migrate to 12 but it is probably costly to support 3 different versions of Direct3D. Dropping support for 10 wouldn’t be a wise choice either because it would make a lot of people mad that it doesn’t work on their GPU from 2009. Of course, they need to support 10 because it’s what Xbox One uses.
But considering that this issue also happens in studio regardless of ES or D3D modes, it leads me to believe it is somewhere else in the application level pipeline, not the low-level 3D renderer.
I don’t know from where did you get this information from, because every online source mentions that it uses a custom version of Direct3D 11.X that has some functionality borrowed from 12.
Xbox One supports Future Lighting and Highlights Outline support while if you force enable Direct3D 10 on a Windows device, these features wouldn’t work.
Yes, indeed. I am not surprised about this though, especially when they still support OpenGL ES 2.0 on Android and OpenGL on the Windows Client (rarely if ever used, is a fallback for Direct3D 10) and Studio. Support for Direct3D 10, OpenGL and all versions of OpenGL ES should be dropped honestly.
I had my hands on an old Samsung Galaxy S7 Edge that’s one of the first devices to support Vulkan on Android, and it was lagging like crazy on all games on graphics quality level 1, now imagine devices that only support up to OpenGL ES 2.0 or even 3.x.
Most people answered correctly, this is somewhat expected… in D3D10/11 by default F11 toggles full screen on some systems and we did not explicitly disable that code (as it is an expectation a lot of people have from a D3D10/11 app)
“Pressing the F11 key within a DirectX application will typically toggle the application between a windowed and a full-screen display mode by taking the 3D viewport fullscreen. However, this function’s behavior can vary depending on the specific application and its settings; in some cases, F11 may only maximize the viewport within the existing window.”
This combined with low frame rate may make it seem like it flickers.
More reasons for you guys to think about implementing Direct3D12 or Vulkan on Windows honestly. If we’re gonna have support for modern, low-level graphics APIs on IOS, Android, MacOS, and consoles then we might as well also do so on Windows.
I doubt this is specifically a Roblox issue, I’ve done this on other programs like Microsoft Paint and/or Media Player and the same thing happens. So it’s most likely a Windows issue.