Browse Source

Softcode VSYNC setting. Enabled by default. (#783)

pull/788/head
Juliano Leal Goncalves 6 years ago committed by GitHub
parent
commit
8d896d54f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      SourceX/display.cpp
  2. 1
      SourceX/display.h
  3. 5
      SourceX/dx.cpp

10
SourceX/display.cpp

@ -116,7 +116,15 @@ bool SpawnWindow(const char *lpWindowName, int nWidth, int nHeight)
#ifdef USE_SDL1
SDL_Log("upscaling not supported with USE_SDL1");
#else
renderer = SDL_CreateRenderer(ghMainWnd, -1, SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_ACCELERATED);
Uint32 rendererFlags = SDL_RENDERER_ACCELERATED;
vsyncEnabled = 1;
DvlIntSetting("vsync", &vsyncEnabled);
if (vsyncEnabled) {
rendererFlags |= SDL_RENDERER_PRESENTVSYNC;
}
renderer = SDL_CreateRenderer(ghMainWnd, -1, rendererFlags);
if (renderer == NULL) {
ErrSdl();
}

1
SourceX/display.h

@ -8,6 +8,7 @@
namespace dvl {
extern int vsyncEnabled;
extern int refreshDelay; // Screen refresh rate in nanoseconds
extern SDL_Window *window;
extern SDL_Renderer *renderer;

5
SourceX/dx.cpp

@ -17,6 +17,7 @@ int locktbl[256];
#endif
static CCritSect sgMemCrit;
int vsyncEnabled;
int refreshDelay;
SDL_Renderer *renderer;
SDL_Texture *texture;
@ -280,6 +281,10 @@ void RenderPresent()
ErrSdl();
}
SDL_RenderPresent(renderer);
if (!vsyncEnabled) {
LimitFrameRate();
}
} else {
if (SDL_UpdateWindowSurface(ghMainWnd) <= -1) {
ErrSdl();

Loading…
Cancel
Save