Skip to content

Framerate across multiple monitors drops (DX11, multi-viewports) #2970

@greenkalx

Description

@greenkalx
Dear ImGui 1.75 WIP (17401)
--------------------------------
sizeof(size_t): 4, sizeof(ImDrawIdx): 2, sizeof(ImDrawVert): 20
define: __cplusplus=199711
define: _WIN32
define: _MSC_VER=1914
define: IMGUI_HAS_VIEWPORT
define: IMGUI_HAS_DOCK
--------------------------------
io.BackendPlatformName: imgui_impl_win32
io.BackendRendererName: imgui_impl_dx11
io.ConfigFlags: 0x0000C441
 NavEnableKeyboard
 DockingEnable
 ViewportsEnable
 DpiEnableScaleViewports
 DpiEnableScaleFonts
io.ConfigViewportsNoDecoration
io.ConfigInputTextCursorBlink
io.ConfigWindowsResizeFromEdges
io.ConfigWindowsMemoryCompactTimer = 60.0f
io.BackendFlags: 0x00001C0E
 HasMouseCursors
 HasSetMousePos
 PlatformHasViewports
 HasMouseHoveredViewport
 RendererHasVtxOffset
 RendererHasViewports
--------------------------------
io.Fonts: 1 fonts, Flags: 0x00000000, TexSize: 512,64
io.DisplaySize: 2141.00,1303.00
io.DisplayFramebufferScale: 1.00,1.00
--------------------------------
style.WindowPadding: 8.00,8.00
style.WindowBorderSize: 1.00
style.FramePadding: 4.00,3.00
style.FrameRounding: 0.00
style.FrameBorderSize: 0.00
style.ItemSpacing: 8.00,4.00
style.ItemInnerSpacing: 4.00,4.00

Version/Branch of Dear ImGui:

Version: 1.75
Branch: docking

Back-end/Renderer/Compiler/OS

Back-ends: imgui_impl_win32.cpp + imgui_impl_dx11.cpp (or specify if using a custom engine/back-end)
Compiler: Visual Studio 2017
Operating System: Windows 10 Pro

My Issue/Question:

greenkalxToday at 1:53 AM
On docking branch, if I move the Demo and Hello viewports to another monitor, the FPS drops to half (of 60fps). Is this due to running on another adapter? Or twice the vsync? (example_win32_directx11)

omarToday at 2:34 AM
@greenkalx could you open an issue, specify which gpu and see if updating drivers makes a difference? Normally that example only wait for vsync on one viewport

Screenshots/Video

Not much to see, just moving the two default viewports to another monitor.

Standalone, minimal, complete and verifiable example: (see #2261)

Just running vanilla imgui from docking branch, no changes.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions