Skip to content
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

SDL_SetWindowBordered causing renderer to freeze up #1126

Closed
SDLBugzilla opened this issue Feb 10, 2021 · 0 comments
Closed

SDL_SetWindowBordered causing renderer to freeze up #1126

SDLBugzilla opened this issue Feb 10, 2021 · 0 comments

Comments

@SDLBugzilla
Copy link
Collaborator

This bug report was migrated from our old Bugzilla tracker.

These attachments are available in the static archive:

Reported in version: 2.0.0
Reported for operating system, platform: Windows 7, x86_64

Comments on the original bug report:

On 2013-10-18 21:02:09 +0000, Kevin Wells wrote:

Created attachment 1373
DxDiag with relevant system information

Overview:
Toggling to SDL_SetWindowBordered(screen,SDL_FALSE) twice causes screen to stop updating and rendering functions (SDL_RenderCopyEx, SDL_RenderFillRect, etc.) to cause a huge performance hit.

Steps to Reproduce:

  1. This only occurs with the render driver set to direct3d, so: SDL_SetHint(SDL_HINT_RENDER_DRIVER,"direct3d")
    Also, my window was 1280x720.

2a) Toggle the window border off twice with SDL_SetWindowBordered(screen,SDL_FALSE).
So if you create a window with SDL_WINDOW_BORDERLESS, it takes 4 calls to SDL_SetWindowBordered, toggling the value each time, to cause the problem. If you create a window without SDL_WINDOW_BORDERLESS, it takes 3 calls to SDL_SetWindowBordered, toggling the value each time, to cause the problem.

OR

2b) Call SDL_SetWindowSize(screen,1280,720) (note this isn't even a different size from what the window started as)

Actual Results:
The renderer stops updating the screen. The screen is then forever frozen at the same place.
Also, SDL_RenderCopyEx, SDL_RenderFillRect, etc. all cause a huge performance hit once this happens. I'm updating the window's titlebar with FPS and such so I can see its performance, and it drops from ~100 to ~3 when this happens. If I toggle off rendering the FPS shoots back up. The screen, of course, remains frozen.

Expected Results:
The screen shouldn't freeze, and rendering function calls should not cause a huge performance hit.

Build Date and Hardware:
Stable 2.0.0 on Windows 7 Professional 64-bit (see attached DxDiag for details)

Additional Information:
I tried a variety of tweaks (playing with different SDL_HINT_'s) and could not find any way to prevent the problem from happening until I tried 'SDL_SetHint(SDL_HINT_RENDER_DRIVER,"opengl")' which pointed me to the direct3d render driver being the (a part of the?) culprit.
Just to be thorough I tried just calling 'SDL_SetWindowBordered(screen,SDL_FALSE)' without any 'SDL_SetWindowBordered(screen,SDL_TRUE)' in between, and nothing goes wrong there. You have to actually toggle the border on and off.

On 2015-02-19 05:22:15 +0000, Ryan C. Gordon wrote:

Marking a large number of bugs with the "triage-2.0.4" keyword at once. Sorry if you got a lot of email from this. This is to help me sort through some bugs in regards to a 2.0.4 release. We may or may not fix this bug for 2.0.4, though!

On 2015-04-07 04:57:58 +0000, Ryan C. Gordon wrote:

(sorry if you get a lot of copies of this email, I'm marking several bugs at once)

Marking bugs for the (mostly) final 2.0.4 TODO list. This means we're hoping to resolve this bug before 2.0.4 ships if possible. In a perfect world, the open bug count with the target-2.0.4 keyword is zero when we ship.

(Note that closing a bug report as WONTFIX, INVALID or WORKSFORME might still happen.)

--ryan.

On 2015-05-28 19:42:38 +0000, Sam Lantinga wrote:

This appears to be fixed for 2.0.4
I ran testsprite2, and hit Ctrl-B to toggle window borders repeatedly.
Please reopen this bug if you're seeing the problem after the 2.0.4 release.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant