diff --git a/Projects/Client/CMakeLists.txt b/Projects/Client/CMakeLists.txt index d637df9..74c8af2 100644 --- a/Projects/Client/CMakeLists.txt +++ b/Projects/Client/CMakeLists.txt @@ -1,6 +1,8 @@ include_directories(${CMAKE_BINARY_DIR}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +option(FORCE_ENABLE_VSYNC ON) + if(COMPILE_PLAYER OR COMPILE_STUDIO) if(LINUX) include(/usr/share/cmake/Modules/FindX11.cmake) diff --git a/Projects/Client/Studio/CMakeLists.txt b/Projects/Client/Studio/CMakeLists.txt index 28d66de..457e17c 100644 --- a/Projects/Client/Studio/CMakeLists.txt +++ b/Projects/Client/Studio/CMakeLists.txt @@ -16,6 +16,10 @@ if(WIN32) list(APPEND HEADER Resource/Windows/Script.rc) endif() +if(FORCE_ENABLE_VSYNC) + target_compile_definitions(Studio PRIVATE FORCE_ENABLE_VSYNC) +endif() + qt_add_executable(Studio ${SOURCE} ${HEADER}) target_include_directories(Studio PRIVATE Header) diff --git a/Projects/Client/Studio/Source/main.cpp b/Projects/Client/Studio/Source/main.cpp index 9dfe2e7..353e090 100644 --- a/Projects/Client/Studio/Source/main.cpp +++ b/Projects/Client/Studio/Source/main.cpp @@ -11,7 +11,12 @@ int main(int argc, char** argv) { QSurfaceFormat format; format.setSwapBehavior(QSurfaceFormat::DoubleBuffer); + +#ifdef FORCE_ENABLE_VSYNC + format.setSwapInterval(1); +#else format.setSwapInterval(0); +#endif QSurfaceFormat::setDefaultFormat(format); QApplication app(argc, argv);