Comments (9)
Based on Windows SDK version we could use newer swap effects, but analoguous to how we expose options in eg vulkan backends perhaps it should be exposed to the backend user which settings they want to use for the swapchain.
from imgui.
I tried with _FLIP_DISCARD and _FLIP_SEQUENTIAL and I noticed that on non-DPI aware app my rendering looks less readable. It's like the upscaling for non-DPI aware apps is different with those settings. Strangely enough when I move the window by dragging the win32 title bar, during the move the visual looks correct. I don't really know what to make of that. Do you have this effect too?
from imgui.
I haven't noticed anything, but frankly I'm not even paying attention to whether I'm running things in DPI-aware mode or not.
Here's the example_win32_directx11 app right out of the imgui repo:
And with _FLIP_DISCARD
(changed in both main.cpp
and in imgui_impl_dx11.cpp
):
And then after I drag the window out of the main viewport:
Assuming that is non-DPI-aware (based on this function being commented out in main
: //ImGui_ImplWin32_EnableDpiAwareness();
), well... looks indistinguishable to me?
from imgui.
Indeed yours look the same.
On mine it looks different WHILE DRAGGING then goes back to shit after dragging. Seems like a bizarre bug or odd drivers or windows thing, will try to investigate another time.
from imgui.
- I updated to latest NVIDIA drivers and still have same problem.
- The DX12 example seems always DPI aware (I don't even know why?) so doesn't exhibit the issue.
- I wanted to try if using more recent swap chain version and options in DX11 (e.g.
DXGI_SWAP_CHAIN_DESC1
,IDXGISwapChain1
) solved the problem but it didn't. - To clarify, this is on a Windows 10 desktop. Nvidia RTX 2080 TI
I guess when using FLIP_ mode the non-DPI aware scale is handled by someone/something different. I wouldn't mind in theory, but on my LCD screen it really feels it looks less readable, and the fact that it looks different while dragging the Win32 window seems very odd to me. Uploading a video in case someones knows the reason:
https://github.com/ocornut/imgui/assets/8225057/2885c0a0-344c-4080-960e-2496cd97a5ad
(you can see the difference in the recording, but on my screen it feels noticeably less readable)
(I understand that switching to DPI aware example is going to be the most desirable step anyhow, but until we've paved the right steps toward that direction, it's not a trivial switch)
from imgui.
FYI i have asked about this at https://x.com/ocornut/status/1795060349084823686
from imgui.
Culprit is this NVIDIA option which default to Off:
from imgui.
Ah, alright. When I took those screenshots I was on an AMD (RX 6700 XT) system. I don't recall seeing anything funky on my NVIDIA+Arc laptop (though maybe my app was only running on the Intel Arc and not the NVIDIA; I'll have to look into that).
from imgui.
You have nothing to investigate, I understood the issue now. It puts a little extra pressure at us making examples/ app DPI-aware if we switch to using FLIP_DISCARD by default. Will do both eventually.
from imgui.
Related Issues (20)
- Latest SDL commit breaks build - SDL_SystemCursor: rename enum items to match CSS. HOT 1
- Pop-up is not dissmissed when clicking in a modal "curtain". HOT 2
- UI elements cannot be interacted with or docked with each other (Win32 + Vulkan) HOT 8
- Horizontal Scrolling Child Window and CollapsingHeader HOT 3
- Add a "HyperLink" control (clickable text with link-like styling) HOT 3
- Docking markers rendered at wrong location when attempting to move viewports outside of monitor boundaries HOT 1
- Drawlists callbacks questions HOT 7
- ImGuiTableFlags_NoBordersInBodyH HOT 2
- Warn users if they are reusing the same ID on a different widget HOT 8
- ImGui scales instead of resizing on Wayland with GLFW and VULKAN HOT 6
- Feature request: TUI (ncurses) backend HOT 1
- ImGui SDL3 Renderer Multi viewport broken HOT 11
- ImGui::CalcTextSize() Escaped Symbols HOT 2
- Trigger widgets (per default) with the click that closes a popup HOT 4
- Using shaders with ImGui::Image in separate functions. HOT 1
- How the menu adaptively changes as the treenode opens HOT 1
- Integration of ImGui with CMake
- Incorrect work WindowPadding/ItemSpacing in popups
- Inaccessible/inescapable UI when restricted to keyboard navigation HOT 3
- ViewPort scaling messed up on secondary screen with different scaling HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from imgui.