-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
Color picker also shows/detects the color of the pixel grid #13831
Comments
I believe this is intended behavior. |
@jaimecbernardo can you explain how this is intentional? |
@Copystrike can you share some specs about your system? Like cpu/gpu, screen resolution/frequency... |
Yeah sure @Jay-o-Way! Here are the laptop details: System: Display: It doesn't have a GPU. If you need more information feel free to ask. Also something I noticed in the first GIF which I recorded in on my computer (which doesn't have the problem) is that it also detected the pixel grid, but I wasn't able to spot it at the time of recording with my bare eyes because it probably updated so fast, but the GIF was able to record it. |
Hm, I'm no expert, but i see a 8th gen i5 quadcore at only 1,60GHz. I would say that is the first suspect for a bottleneck. Other then that, no strange specs. |
This is not intention, indeed. |
We've had this reported but for life of us (#7818), can't repro it which makes it hard to debug. @Copystrike are you running maybe at a higher DPI scale? |
@crutkas maybe it's because your computer(s) are just too good, haha. I'm guessing the processor (when there is no actual gpu, or something like that) is the bottleneck. |
Jay in theory my laptop should hit this all the time if it was based on spec. There has to be a commonality config or setting. |
Maybe we just increase the buffer for adjustment a pixel inward in all directions. |
This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 5 days. It will be closed if no further activity occurs within 5 days of this comment. |
I can not reproduce this anymore. @Copystrike can you? (v0.53 is the latest) |
Sorry, I completely forgot about this. @Jay-o-Way and yes I can still reproduce this issue. (v0.53.1) @crutkas I have not changed anything to the mouse DPI settings as you can see below in the image. I have no idea how difficult this is to implement plus I am not familiar with C#, but isn't there a way the grid system get its own layer and the cursor is like underneath the grid system layer? Anyways if you guys have any other questions related to the laptop feel free to ask, I'll try to be more active on this issue and provide as much information as needed. |
It is the fact the grid is on the screen, we grab the exact pixel color. The concept of layers doesn’t exist |
Clint meant the screen/display scaling setting
Nick meant Z-order of (tool)windows |
I have the same problem, and I think I know why. The grid overlaps with the pixel like so: So as a quite simple solution, as some users have complained that the current selector looks bad anyway (Comment by JolyonJostar) we could either remove the grid and just keep the little square, or use a new one. For example like this: The detailed views show that there is no overlap between the selected pixel and the grid: |
Looks good @JulianBrasse . Mind if I ask how you made the difference? And did you check different screen scaling settings? |
To be honest, I couldn't actually implement this (lack of technical knowledge) but I took a screenshot of the earlier method, analysed it and then changed the grid in Paint 3D to a different layout that was still similar to the old one, but (in my opinion) looked slightly better and avoided the overlap of the grid into the pixel. |
It is just an idea of what it could be changed to. |
@crutkas I can succesfully reproduce the bug on a 1080 x 1920, 60 Hz 6-bit RGB SDR Display. Specifically the HP Envy x360 Convertible 15-cn0xxx. Problem doesn't occur on my big monitor. This is still a problem and I was wondering whether you need more information to continue to fix this. |
I know how to produce it. One of the comments I did talks about how. |
And the scaling factor? |
That is consistent with Clint's findings |
Hi, I've dug into this a bit and I realise this also happens at 100% and 200% scaling on a 15" 2880x1800 screen to some extent. The only difference is that it might not be possible to hover on the grid directly as compared to the other non-integer scaling. Additionally, I am trying to compile the .fx file but I wasn't aware of how, is there any way someone can maybe point me in the right direction? I've identified the GridShader.fx as the fix location but I have no way to compile or debug it properly since it seems to me that the project uses a precompiled cso file and the build process is not integrated. |
I have the same issue here on a Windows 10 laptop. Again, 125% scaling, as Clint and the others here have found. |
Hi! I've tried implementing something like @JulianBrasse suggested and played a bit with the size of the main rectangle, but it seems like it's a timing issue more a grid positioning issue. In the clip below you can see it happening even with a massive main rectangle (sorry for the potato recording quality). However, using the normal grid, modified so it's not drawn inside the sampled pixel (screenshot), seems to resolve landing on the actual grid. The grid colour will at most flash for 10ms before it changes to the correct one. @KohGeek Here's how I compiled the shader file. Not sure it's exactly the corect way, but it works: |
Addresses microsoft#13831. The sampled pixel is now completely avoided by the grid. Also, this should address the timing issue from the sampling being done every 10ms, which overlaps strangely with monitor refresh rates at 16.6ms, 13.3ms, etc.
* Fix ColorPicker sampling colour from the grid Addresses #13831. The sampled pixel is now completely avoided by the grid. Also, this should address the timing issue from the sampling being done every 10ms, which overlaps strangely with monitor refresh rates at 16.6ms, 13.3ms, etc. * Forgot extra library * Revert rounding in GetPixelColor * Ensure EnumDisplaySettingsW returns true Assigning refreshRate only if EnumDisplaySettingsW returns true, otherwise defaulting to 60.0Hz. * Run spellchecker * Spellcheck again --------- Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Fix for both issues mentioned here (grid drawn inside the sampled pixel and sampling interval) is merged and will be included in the next PowerToys release. Thank you all for the help in discovering what was causing these problems! |
Closing this issue since it's been fixed since v0.69.0 (41997eb) and I can verify that the initial machine where I had this issue does not face this issue anymore. Thanks! |
* Fix ColorPicker sampling colour from the grid Addresses microsoft#13831. The sampled pixel is now completely avoided by the grid. Also, this should address the timing issue from the sampling being done every 10ms, which overlaps strangely with monitor refresh rates at 16.6ms, 13.3ms, etc. * Forgot extra library * Revert rounding in GetPixelColor * Ensure EnumDisplaySettingsW returns true Assigning refreshRate only if EnumDisplaySettingsW returns true, otherwise defaulting to 60.0Hz. * Run spellchecker * Spellcheck again --------- Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Microsoft PowerToys version
0.47.1
Running as admin
Area(s) with issue?
ColorPicker
Steps to reproduce
I know this shouldn't be happening since on my desktop computer this isn't an issue but on my laptop it is.
✔️ Expected Behavior
The color picker should ignore the white pixel grid and pick the color underneath it.
❌ Actual Behavior
The color picker detects the white pixel grid as a part of the color you want to pick.
Other Software
No response
The text was updated successfully, but these errors were encountered: