imagepipe brushes do not switch frames
Description
Details
- Commits
- R37:eabb89b073de: Fix painting in Wrap-around mode with the threaded brush
R37:04e0f8fa8f1f: Make the lower limit of the brush update period shorter
R37:7a68c33bc8af: Implement more strict brush update time calculation algorithm
R37:df871d8cc260: Implement a proper recycling for the fixed paint devices a dabs queue
R37:a5712e328d25: Fix the delay before starting a stroke with a huge texture
R37:d123397f6118: Fix a crash in the multithreaded brush
R37:ea20588c162e: Fix pixel1 brush preset and rectangular tool in a multithreaded brush
R37:5702250277ee: Fix FuzzyStroke, Distance, Time and Fade sensors when used in multithreaded…
R37:84e582d7d656: Fixes two "lost tiles" problems in the multithreaded brush
R37:8de3e806e581: Fix FuzzyStroke, Distance, Time and Fade sensors when used in multithreaded…
R37:d93da94864a9: Fixes two "lost tiles" problems in the multithreaded brush
Status | Assigned | Task | ||
---|---|---|---|---|
Resolved | None | T6476 Krita 4.0 main release task | ||
Resolved | dkazakov | T7309 Multithreaded Brush bugs |
I tested the branch out on my Ubuntu 16.10 box. I tested various things including painting with different engines, different sizes, and instant preview.
It overall seemed to work very well and very fast! Great job!
The main issue I saw is that the new brush speed-ups don't play nicely with Instant Preview with pixel engine presets. I occasionally see artifacts and areas not being updated if I turn on Instant Preview. The instant preview seemed to work with what it was doing, but some part of the canvas didn't seem to be updating correctly. This doesn't always happen, but enough that it probably needs to be looked at
The live brush preview in the brush editor doesn't show anything for pixel engine brushes, but that isn't surprising. It probably needs to point to a different class for painting the preview. Right now the live preview uses the same class for painting all the engines. Maybe this is something I should be doing since I added that. That code is painting with the KisPainter class and is doing the painting in kis_preset_live_preview.cpp:274 :)
Ah.... I noticed that in the multithreaded branch, the "fuzzy stroke" sensor is a bit broken...
Use fuzzy stroke with the hue or value options in the pixel brush: it'll seem as if it is working on a few dabs before generating a new random value.
@dkazakov - I was doing some painting this morning on my Surface pro and got this crash. Not sure if it is related to your work, but probably needs to be fixed.. https://bugs.kde.org/show_bug.cgi?id=386523
Moar bugs:
- Pixel1 doesn't work anymore.
- Weird one with the rectangle tool:
- Select a pixel brush
- select the rangtanlge tool.
- set outline to none and fill color to a color.
- paint and observe it doesn't update the canvas.
- select outline: brush
- paint and observe it does fill the canvas.
Crash that is different from Scott's:
https://bugs.kde.org/show_bug.cgi?id=386498
I noticed on linux the pixel brushes seem to stop working when the pixel size gets under 1 or 2 pixels. If it is larger than that they are ok.
So here are what I have:
- The built-in presets PixelArt_Dithering, PixelArt_Square and PixelArt_Round seems to always crash for me after a few strokes. They also stop drawing on the canvas usually after I drew half a stroke..
- Pixel1 doesn't draw anything, but if I draw with PixelArt_Square after having tried to draw with Pixel1, I can sometimes see traces around the new stroke that looks like what the Pixel1 preset should've drawn.
- I was testing with "deevad 2e big brush" from deevad's 8.2 brush pack, and I get some artifacts for certain quick strokes:
I experiencing crashes with textured brushes. Noticed on brush like here https://phabricator.kde.org/T7052 but it happens with other too. It need a couple minutes of painting to get the crush, simply brushes seems to be more stable but I got crashes with them too. Even just hard round with texture can crash.
Drawing outside the main canvas in wrap around mode is broken with the pixel engine, getting disconnected line segments.
When using the "deevad 2c flat" brush, it doesn't seem to be reducing the update rate for a faster stroke? On the other hand the update rate of "deevad 2e big brush" is horribly low...
Fixed now!
Fixed now!
'deevad 2e big brush' is fixed now
Now I have only two reports left:
- wraparoung mode
- 'deevad 2c flat' (perhaps also got fixed in the meantime)
I have checked. The reduction works, it is just the brush is too slow. It renders the stuff at 10fps
Okay, so this one seems like it is related to the multithreaded brush bugs, as it only happens with pixel brushes: