瀏覽代碼

Examples: Viewport: Disabling swap intervals / vsync on secondary context to match what the DX11 bindings is doing. (#1542)

omar 7 年之前
父節點
當前提交
0ada716184
共有 2 個文件被更改,包括 8 次插入0 次删除
  1. 5 0
      examples/imgui_impl_glfw.cpp
  2. 3 0
      examples/imgui_impl_sdl.cpp

+ 5 - 0
examples/imgui_impl_glfw.cpp

@@ -391,6 +391,11 @@ static void ImGui_ImplGlfw_CreateWindow(ImGuiViewport* viewport)
     glfwSetWindowCloseCallback(data->Window, ImGui_ImplGlfw_WindowCloseCallback);
     glfwSetWindowPosCallback(data->Window, ImGui_ImplGlfw_WindowPosCallback);
     glfwSetWindowSizeCallback(data->Window, ImGui_ImplGlfw_WindowSizeCallback);
+    if (g_ClientApi == GlfwClientApi_OpenGL)
+    {
+        glfwMakeContextCurrent(data->Window);
+        glfwSwapInterval(0);
+    }
 }
 
 static void ImGui_ImplGlfw_DestroyWindow(ImGuiViewport* viewport)

+ 3 - 0
examples/imgui_impl_sdl.cpp

@@ -369,7 +369,10 @@ static void ImGui_ImplSDL2_CreateWindow(ImGuiViewport* viewport)
     data->Window = SDL_CreateWindow("No Title Yet", (int)viewport->Pos.x, (int)viewport->Pos.y, (int)viewport->Size.x, (int)viewport->Size.y, sdl_flags);
     data->WindowOwned = true; 
     if (use_opengl)
+    {
         data->GLContext = SDL_GL_CreateContext(data->Window);
+        SDL_GL_SetSwapInterval(0);
+    }
     if (use_opengl && backup_context)
         SDL_GL_MakeCurrent(data->Window, backup_context);
     viewport->PlatformHandle = (void*)data->Window;