I created a round pixel brush:
Pixel brush engine
The dots should be symmetrical but come out jagged when using brushsizes 9, 8, 7, 6, 5, 4.
^attached picture sized up
I can confirm this, it seems to be related to coordinates.
When we draw a circle with the circle tool and a 1 px brush, it's result looks awkward.
When we draw a circle on a vector layer and then trace the shape with a 1pixel brush, the outline is similarly awkward.
When we take that vector circle, and make sure that both the x and y coordinates are *.5 (so, for example, 20.5 and 16.5), and then trace the shape with a 1px brush, the result is correct. It seems that disabling subpixel precision does not account for centering the coordinate, but rather tries to stick it onto the top-left, which results in strange approximations.
We could hack around this by making this explicit in the sharpness method.
It is also known that we have some hardcoded super-duper-extra-special precision going on in sizes below 9px, (something I recall from the anti-aliasing method) which probably also affects all this.
Created attachment 111798 [details]
Screenshot of the brushes in question (look normal)
Could you upload a screenshot again? I cannot reproduce the problem and your demo screenshot is not available anymore.
(In reply to Dmitry Kazakov from comment #3)
> Created attachment 111798 [details]
> Screenshot of the brushes in question (look normal)
> Hi, Andrej!
> Could you upload a screenshot again? I cannot reproduce the problem and your
> demo screenshot is not available anymore.
I found the screenshot in my Dropbox: https://www.dropbox.com/s/l0yv9zxj3gkkvh1/pix2.PNG?dl=0
I have not tried to reproduce it with the current version of Krita yet.
The problem still exists in current Krita, but I think a solution exists already. Enabling snapping in coordinate by every pixels with .5 should fix almost every problems associated with pixel art, and situation where small good looking circle (without it being pixel art). It doesn't even have to be explicit in sharpness. If there was a way to snap on the .5 coordinates, that would work.
Since I can't edit, snapping to 1,.5 or 5.,1 seem to fix line problems at a pixel level, or even 2.5,2.5 in cases of circles.
Not entirely sure this related, but drawing rectangles with the rectangle tool and a small pixel brush (either Pixel Art or Deevad 5b Pixel produces weird lines with artifacts. This happens with brush sizes of 5px and below.
Brushes of 6px and higher work fine.
Also, the circle, polygon and line tools work as expected at all brush sizes.
*** Bug 407824 has been marked as a duplicate of this bug. ***
Can you reproduce this behavior in Krita 4.2.0 beta? (I can in 4.1.7, and cannot in beta).
Created attachment 120248 [details]
Artifacts with Pixel art brush
(In reply to Gremriel from comment #10)
> Created attachment 120248 [details]
> Artifacts with Pixel art brush
This is with krita-nightly-x64-v4.2.0-alpha-126-gd3175ce38f
(If this is a separate issue, please let me know, I'll file a bug report.
Setting to confirmed.
Having discussed this with Ivan, what is probably necessary is either...
1. A seperate brushengine.
2. (Or simpler) a seperate autobrush mask for pixelperfect masks, where we can ensure the circles are the appropriate shape, if necessary hardcoded.