Code Monkey home page Code Monkey logo

Comments (9)

ocornut avatar ocornut commented on June 17, 2024

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.

ocornut avatar ocornut commented on June 17, 2024

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.

seanmiddleditch avatar seanmiddleditch commented on June 17, 2024

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:

image

And with _FLIP_DISCARD (changed in both main.cpp and in imgui_impl_dx11.cpp):

image

And then after I drag the window out of the main viewport:

image

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.

ocornut avatar ocornut commented on June 17, 2024

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.

ocornut avatar ocornut commented on June 17, 2024
  • 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.

ocornut avatar ocornut commented on June 17, 2024

FYI i have asked about this at https://x.com/ocornut/status/1795060349084823686

from imgui.

ocornut avatar ocornut commented on June 17, 2024

Culprit is this NVIDIA option which default to Off:
GOqArHZXYAAx3Uu

from imgui.

seanmiddleditch avatar seanmiddleditch commented on June 17, 2024

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.

ocornut avatar ocornut commented on June 17, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.