Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Window Freeze using Multi Viewport and hidding main window #7469

Open
jmyvalour opened this issue Apr 4, 2024 · 0 comments
Open

Window Freeze using Multi Viewport and hidding main window #7469

jmyvalour opened this issue Apr 4, 2024 · 0 comments

Comments

@jmyvalour
Copy link

jmyvalour commented Apr 4, 2024

Version/Branch of Dear ImGui:

Version 1.90.5, Branch: docking

Back-ends:

backends/imgui_impl_sdl2.cpp backends/imgui_impl_opengl3.cpp

Compiler, OS:

Ubuntu 22, clang18

Full config/build information:

Dear ImGui 1.90.5 WIP (19046)
--------------------------------
sizeof(size_t): 8, sizeof(ImDrawIdx): 2, sizeof(ImDrawVert): 20
define: __cplusplus=201103
define: __linux__
define: __GNUC__=4
define: __clang_version__=18.1.3 (++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86)
define: IMGUI_HAS_VIEWPORT
define: IMGUI_HAS_DOCK
--------------------------------
io.BackendPlatformName: imgui_impl_sdl2
io.BackendRendererName: imgui_impl_opengl3
io.ConfigFlags: 0x00000443
 NavEnableKeyboard
 NavEnableGamepad
 DockingEnable
 ViewportsEnable
io.ConfigViewportsNoDecoration
io.ConfigInputTextCursorBlink
io.ConfigWindowsResizeFromEdges
io.ConfigMemoryCompactTimer = 60.0
io.BackendFlags: 0x00001C0E
 HasMouseCursors
 HasSetMousePos
 PlatformHasViewports
 HasMouseHoveredViewport
 RendererHasVtxOffset
 RendererHasViewports
--------------------------------
io.Fonts: 1 fonts, Flags: 0x00000000, TexSize: 512,64
io.DisplaySize: 1280.00,720.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

imgui version: 085781f, docking branch

Details:

My Issue/Question:

Hello,

When launching the Demo without any modification (SDL2 + OpenGL3) on Ubuntu22, everything works fine until I move one window out of the main window, and hide the main one behind any other tab I got open. At this point I can see the whole demo freezing (one frame per second),
Here is the callstack where the freeze is coming from:

libc.so.6!poll (Unknown Source:0) (waiting one second)
libxcb.so.1![Unknown/Just-In-Time compiled code] (Unknown Source:0)
libxcb.so.1!xcb_wait_for_special_event (Unknown Source:0)
libGLX_mesa.so.0!glLabelObjectEXT (Unknown Source:0)
libGLX_mesa.so.0!glLabelObjectEXT (Unknown Source:0)
libGLX_mesa.so.0!glLabelObjectEXT (Unknown Source:0)
libGLX_mesa.so.0!glLabelObjectEXT (Unknown Source:0)
iris_dri.so![Unknown/Just-In-Time compiled code] (Unknown Source:0)
main() (example_sdl2_opengl3/main.cpp:202) aka glClear(GL_COLOR_BUFFER_BIT);

I detected this problem into my application but was able to reproduce the same exact behavior on the ImGUI Demonstration code too. To reproduce, I just take the "Hello, world!" window and move it out of the main window, then I only display this one and let the main window behind another tab for example. If I remove the ImGuiConfigFlags_ViewportsEnable flag, it works fine, but as soon as I hide the main window, it goes back into these freeze again, wondering if I can force the refresh rate and overload this xcb_wait_for_special_event in some way.

I don't think this is related to imgui viewport, but I am not sure where to look at... wondering if someone on a linux system got the same problem, it looks related to the freeze issue related discussed here : #6208
I tried to update all my system to the following version but the issue is still present,
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel (0x8086)
Device: Mesa Intel(R) UHD Graphics (TGL GT1) (0x9a60)
Version: 24.0.4
Accelerated: yes
Video memory: 31807MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics (TGL GT1)

Thank you for your help, any advice, hint would be really helpful,

Screenshots/Video:

No response

Minimal, Complete and Verifiable Example code:

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant