SUMMARY Assisstants have poor performance on canvas actions (panning, rotation, zooming in/out). The more you zoom in the worse it becomes, aprticularly perspective and vanishing point make rendering basically freeze at some zoom levels. I don't have a particularly low spec machine either but it feels like it might not be GPU accelerated or something? STEPS TO REPRODUCE 1. Put a vanishing point with low angle on the canvas 2. Zoom in and perhaps even pan around (keep the assi. tool on screen the whole time) the canvas. It's jerky and at soem point it almost stops if you have enough lines/curves from the tool on screen. Just a tiny little addition to the wishlist :-).
I don't get any slowdown following the steps provided or even after adding more than 10 vanishing points and panning at different zooming levels. Could you paste the text from "help > system information for bug reports"? Also check that you are not using OpenGL directly for display canvas acceleration but ANGLE.
Created attachment 122862 [details] krita-bug-log
(In reply to vanyossi from comment #1) > I don't get any slowdown following the steps provided or even after adding > more than 10 vanishing points and panning at different zooming levels. > > Could you paste the text from "help > system information for bug reports"? > Also check that you are not using OpenGL directly for display canvas > acceleration but ANGLE. The file is above, I thought the comment text will stay, so I'll jsut make one more reply here. Vanishing point is currently certainly the least laggy one it's still slower but not that noticeable can you please try the perspective? When I have perspective in and zoom to 100% or clsoer to 140% it basically takes half a second or asecon to make one pan or zoom level difference (which obviously stacks as you are trying to pan large distance). As said above the report file is above in the comment - sorryy about that. I do have nalge not opengl, opengl makes everything worst if I try it so I dont' use it anyway. Not sure what changed from the time of the bug report, I'm on enwer version of Krita but even if I download 4.2.5 portable the vanishing point is still a bit slower but not even close to the perspective. Just to be sure I make a 2000x3000 new file with a background flat colored layer, I just put in a perspective and try to zoom in on the perspctive (make sure it's in the viewport the whole time) from 40% to 100%, then a bit further to 140% and evne at 100% it's lagging like hell, it basically turn to a slideshow rather than a smooth zoom/pan.
One more, there was someone on reddit saying the same so it's probably not just me.
I definitely still get unpleasant choppiness too when panning on a zoomed in document with some perspective assistants. It's not quite as bad as 1 second lags for me (Linux, nVidia proprietary OpenGL drivers), but the canvas lags quite a bit compared to the smooth movement when assistants are turned off.
Thanks! I can now reproduce this bug. 1. Create a document 300 x 300 is fine. 2. add a perspective assitant. 3. Zoom in keeing the perspective assistant always visible.
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1064
Git commit 00f86a7e5540464a9c4e3a6c5a0300e41edb43f6 by Agata Cacko. Committed on 03/10/2021 at 13:22. Pushed by tymond into branch 'master'. Move Perspective assistant drawing to drawAssistant from drawCache Before this commit, the grid of the Perspective Assistant was drawn in the drawCache, which caused performance issues when using the perspective assistant and zooming in a lot. (test method: zoom in a lot, so it's around 1600%, and then zoom in and out very quickly using your mouse wheel. It's instant with this patch, but slow without the patch. Note that if the Configure Krita -> Display -> Canvas Acceleration is off, it's still super slow). This commit does two things: - crops the drawn lines to the viewport - moves the whole drawing action to drawAssistant Note: just cropping the drawn lines, but still using the cache, didn't improve the assistants performance that much. There must be some inherent issue with this caching method. M +42 -32 plugins/assistants/Assistants/PerspectiveAssistant.cc https://invent.kde.org/graphics/krita/commit/00f86a7e5540464a9c4e3a6c5a0300e41edb43f6
Git commit 0cd2ea87b0719cb8a496fd0a96de2434a909ae10 by Agata Cacko. Committed on 03/10/2021 at 16:27. Pushed by tymond into branch 'krita/5.0'. Move Perspective assistant drawing to drawAssistant from drawCache Before this commit, the grid of the Perspective Assistant was drawn in the drawCache, which caused performance issues when using the perspective assistant and zooming in a lot. (test method: zoom in a lot, so it's around 1600%, and then zoom in and out very quickly using your mouse wheel. It's instant with this patch, but slow without the patch. Note that if the Configure Krita -> Display -> Canvas Acceleration is off, it's still super slow). This commit does two things: - crops the drawn lines to the viewport - moves the whole drawing action to drawAssistant Note: just cropping the drawn lines, but still using the cache, didn't improve the assistants performance that much. There must be some inherent issue with this caching method. M +42 -32 plugins/assistants/Assistants/PerspectiveAssistant.cc https://invent.kde.org/graphics/krita/commit/0cd2ea87b0719cb8a496fd0a96de2434a909ae10