Bug 503761

Summary: In low resolutions, with scaling mode nearest neighbour, sometimes pixels dont display
Product: [Applications] krita Reporter: FranciscoGR <francisquigr2>
Component: Brush Engine/BristleAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED INTENTIONAL    
Severity: minor CC: giga-zoddom
Priority: NOR    
Version First Reported In: 5.2.9   
Target Milestone: ---   
Platform: unspecified   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description FranciscoGR 2025-05-04 15:47:55 UTC
SUMMARY
Hello! In my canvas acceleration, I have nearest neighbour turned on because I love drawing with that early ms paint style, with a 800x600 96pp resolution.

Sometimes, when I'm drawing, the strokes have gaps in them, and then they display correctly when I zoom in. This is confusing, as to sometimes I'm drawing detail and I'm unsure if the stroke registered.

I will attach a youtube video to better illustrate the topic. This issue seems to fix itself when I turn off canvas acceleration, but having it not work with it on seemed like a bug to me.

https://youtu.be/zlyJEpbegOo

SOFTWARE/OS VERSIONS

Windows: Windows 11 Pro x86_64, WIN32_NT 10.0.22631.5189 (23H2)
Display (CMN1521): 1920x1080 @ 60 Hz in 16" [Built-in] *
Display (GS1562): 1920x1080 @ 60 Hz in 16" [External]
CPU: 13th Gen Intel(R) Core(TM) i7-13620H (16) @ 4.90 GHz
GPU 1: Intel(R) UHD Graphics (128.00 MiB) [Integrated]
GPU 2: NVIDIA GeForce RTX 4060 Laptop GPU (7.77 GiB) [Discrete]
Memory: 9.83 GiB / 15.71 GiB (63%)
Comment 1 Lukas 2025-05-22 17:54:31 UTC
Hello Francisco,

thank you for the detailed description and the video you attached.

If I understood your problem correctly, then this does not seem like a bug to me. 
These gaps are simply artifacts of the nearest neighbor scaling mode (which means there is basically no scaling applied), your brush size of 1px and your zoom level.
If you set your zoom level to 100%, that means each pixel on your canvas is represented by 1 pixel on your screen. 
If you zoom out, this means, each pixel on the canvas is smaller than each pixel on your screen. And because with nearest neighbor there is no scaling done, that means your screens pixels has to choose between more than 1 pixel of your canvas. 

I understand your confusion, but this is exactly as intended. As a work-around I would recommend only using >= 100% zoom level while painting with a 1px brush. 

I hope this helps!
Comment 2 FranciscoGR 2025-05-23 13:17:25 UTC
(In reply to Lukas from comment #1)
> Hello Francisco,
> 
> thank you for the detailed description and the video you attached.
> 
> If I understood your problem correctly, then this does not seem like a bug
> to me. 
> These gaps are simply artifacts of the nearest neighbor scaling mode (which
> means there is basically no scaling applied), your brush size of 1px and
> your zoom level.
> If you set your zoom level to 100%, that means each pixel on your canvas is
> represented by 1 pixel on your screen. 
> If you zoom out, this means, each pixel on the canvas is smaller than each
> pixel on your screen. And because with nearest neighbor there is no scaling
> done, that means your screens pixels has to choose between more than 1 pixel
> of your canvas. 
> 
> I understand your confusion, but this is exactly as intended. As a
> work-around I would recommend only using >= 100% zoom level while painting
> with a 1px brush. 
> 
> I hope this helps!

Oh that's awesome! Thank you so much for the input. I guess I am going to have to work around that, but I already got used to it! Thank you :)