[rcore] Fix SUPPORT_WINMM_HIGHRES_TIMER
for PLATFORM_DESKTOP_SDL
#3679
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
During the Christmas holidays a visiting relative was playing a game I've made with my kernel library on his very up-to-date notebook, but there were (low) framerates issues. Upon inspection the issue was the frame sleep time being too long on Windows. The problem was solved with
SDL_HINT_TIMER_RESOLUTION
which is kind of equivalent to WindowstimeBeginPeriod()/timeEndPeriod()
.Since
raylib
'sPLATFORM_DESKTOP_SDL
doesn't usercore.c
'sInitTimer()
(L3040-L3047), it ends up having the same issue. And since this looks relevant enough, I'm sending this PR.This issue is more noticeable when
vsync
is turned off and a given frame cap is enforced.Changes
Adds a
SDL_HINT_TIMER_RESOLUTION
hint toInitPlatform()
(R1430-R1432) forPLATFORM_DESKTOP_SDL
to handle theSUPPORT_WINMM_HIGHRES_TIMER
option.This is similar to how
PLATFORM_DESKTOP
handles it using WindowstimeBeginPeriod()/timeEndPeriod()
(L66-L70, L3040-L3047, L1590-L1596).Edits