Comments (9)
OK thanks for clarifying. I would definitely be interested in figuring out what is happening in the second variant when it breaks - the fact that it works sometimes suggests that the code in theory handles what I thought it did (i.e. everything except dragging/dynamic DPI change), but it sometimes not working is curious. I wonder if that is some kind of behaviour where the window opens on the wrong monitor long enough for the DPI to latch, before the layout is properly loaded and moves it to the second monitor.
from renderdoc.
Thanks for looking into it iOrange, if you notice any more of a pattern to it or find something more specific that could be fixed please open a new issue.
from renderdoc.
This might just be a Qt5 issue, DPI stuff is largely out of our hands. I believe we should support per-monitor DPI at least but probably not switching from one to the other on the fly.
Does it work correctly if the layout is loaded with panels on their respective monitors - i.e. is it only broken when dragging from one to another?
There are no plans to ever switch to Qt6 FWIW.
from renderdoc.
Does it work correctly if the layout is loaded with panels on their respective monitors - i.e. is it only broken when dragging from one to another?
Unfortunately - no. As I mentioned - it can randomly happen right from start, depending on what monitor the app starts on.
I believe that it is picking up the DPI scale only from the main monitor, so if it starts on the secondary - it's screwed, and dragging it across makes it even worse.
I myself use Qt a lot for my tools, and this was my main thing to switch to Qt6.
I vaguely remember there was a workaround for this (detecting when the app is switching monitors and forcing qApp->SetFont()
or something along those lines).
I might actually try to clone the repo and build myself to see if I can find a workaround.
from renderdoc.
To clarify - is it random or does it depend on the monitor the app starts on? If you close and reopen the program the location of all windows should be saved and be consistent and it should appear in the same monitor each time - does that ever change or does it always behave the same given a certain layout?
If you're able to find a workaround/fix that would be great. I'm somewhat unable to test this as I don't use DPI scaling on my system and can't really go very high with the scaling on my normal monitors without breaking the layout in a way that makes testing a little dubious.
from renderdoc.
To clarify - is it random or does it depend on the monitor the app starts on?
Yes sorry for being unclear - there's two variants of this issue.
1 - The app starts on the main monitor and then dragged onto the secondary (diff res and scale) - and rescales improperly.
2 - The app starts on the second monitor - the UI is already scaled improperly, and if you drag it to another monitor - it gets even worse.
The second scenario is a bit random, as sometimes it starts on the secondary monitor and looks fine. Still not sure why.
from renderdoc.
Just to check, did you have any time to dig into the code with this, or find the pattern in when it shows up as improperly scaled on the second monitor when the application starts there?
I do still want to try and look into this if I find a way I'm able to, but as mentioned all of my monitors are normal monitors not high DPI so reproducing this will be challenging.
from renderdoc.
Sorry for the late reply, was quite busy.
So I think I managed to get why it was so "random" - because of my hybrid work model (WFH + office) I can Remote Desktop to my work PC from home for some stuff, and then when I come to the office - RenderDoc would go in this "weird scaling" mode, until I reboot my PC.
So it has something to do with Remote Desktop. I might debug it when I have spare time to better understand why it happens, but you can close this "bug" if you want, as this seems to be a specific case.
from renderdoc.
There are no plans to ever switch to Qt6 FWIW.
Why?
from renderdoc.
Related Issues (20)
- SPIRV shader debugger: `OpDebugValue` does not update the value of an vector element. HOT 2
- [Android] "Error connecting to debugger" on OPPO A74 HOT 6
- Support the extension VK_QCOM_multiview_per_view_viewports HOT 5
- Unreal Engine Android : Injection failed.... HOT 2
- Seg fault in python API function renderdoc.ExecuteAndInject HOT 2
- Android - Can't attach to application HOT 2
- Resource Usages context menu and panel doesn't show resources accessed via ResourceDescriptorHeap indexing (bindless) HOT 1
- OpenGL: Wrong zoom level with texture generated via glTextureView() HOT 1
- RenderDoc is unable to connect and debug on Samsung S23 Ultra HOT 22
- Smoothly capture several sequential frame HOT 1
- [Vulkan] Pipeline state only shows one declaration per aliased binding HOT 2
- Renderdoc Support for embedded systems HOT 1
- [Vulkan] Renderdoc layer changing image memory requirements affects programs relying on external memory HOT 8
- Vulkan dynamic uniform buffer offsets are interpreted incorrectly HOT 2
- (OpenGL) HDR corrupts textures and freezes the software after a capture HOT 8
- [Bug][OpenGLES] Sample mip1 and render into mip2 of same texture on mobile, renderdoc can not display texture result correctly HOT 5
- Cannot capture frame with AMD properitary driver HOT 1
- GLFW and Vulkan does not work together HOT 7
- Vulkan App enabling renderdoc layer causes ERROR_INITIALIZATION_FAILED 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 renderdoc.