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)
- Child Window Drawing Order HOT 19
- Changing the style of checkbox HOT 1
- Build error with recent version of dawn HOT 1
- When using MultiSelect with BoxSelect in a Table with ScrollY and BordersOuter, items sometimes get skipped HOT 4
- HoveredWindow state is no longer cleared after closing a secondary viewport HOT 2
- Incorrect set for FontScale in the SetCurrentWindow HOT 1
- Can't type Korean in the text box. HOT 7
- imgui_widgets.cpp gives 200+ errors HOT 1
- How can I size a table correctly for a given number of rows when using ImGuiTableFlags_ScrollX? HOT 4
- Image Loading Not Working
- Item-tooltip for group will disappear for a short time if the widget inside is clicked HOT 1
- Multi-viewport: window constrained to main viewport moves if it goes outside of viewport HOT 2
- Add a flag to disable Ctrl+Tab navigation HOT 1
- Renderer backend for the new SDL3 GPU API HOT 6
- Advice on implementing a visual tour for a user interface HOT 5
- Merging icon font doesn't work HOT 7
- Not all expected cells are selected when drag-selecting in an x-scrolling table
- Late availability of monitor information HOT 2
- IMGUI_DISABLE_OBSOLETE_FUNCTIONS does more than hiding obsoleted functions HOT 5
- Translating between backend keycode and ImGuiKey HOT 1
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.