https://bugs.kde.org/show_bug.cgi?id=361709

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/grap |https://invent.kde.org/grap
                   |hics/krita/-/commit/b520fe1 |hics/krita/-/commit/da0fe44
                   |920ed3e5d1caab994d814bf8bd1 |bb426e0acd96142a09682931208
                   |b07650                      |ab483d

--- Comment #26 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit da0fe44bb426e0acd96142a09682931208ab483d by Dmitry Kazakov, on
behalf of Maciej Jesionowski.
Committed on 15/11/2023 at 15:43.
Pushed by dkazakov into branch 'krita/5.2'.

Draw assistants directly on the canvas

Change the way assistants are rendered on the canvas. Instead of drawing
the assistants into a pixmap, storing the pixmap in QPixmapCache, and
then painting the pixmap onto the canvas, this patch skips the intermediate
pixmap and draws the assistants directly on the canvas.

The QPixmapCache method is prone to a bug where the pixmap is evicted
from the cache before the rendering is complete, resulting in a black
rectangle. Also this method performs very poorly with hardware acceleration,
because we're doing a costly texture upload, texture sampling, and blending.
The performance is especially bad when assistants take a large portion
of the screen when zoomed in and the canvas is zoomed or rotated.

Changes in this patch:

- Add a menu option in Display settings to toggle assistants drawing mode
- Use direct drawing mode by default
- Remove the workaround detection for NVIDIA

The old options are left for troubleshooting, but it's unlikely anyone
would find them to work better on the current GPU hardware.
Related: bug 401940

M  +4    -0    libs/ui/KisDecorationsManager.cpp
M  +26   -10   libs/ui/dialogs/kis_dlg_preferences.cc
M  +49   -17   libs/ui/forms/wdgdisplaysettings.ui
M  +15   -0    libs/ui/kis_config.cc
M  +8    -0    libs/ui/kis_config.h
M  +1    -1    libs/ui/kis_painting_assistant.h
M  +15   -2    libs/ui/kis_painting_assistants_decoration.cpp
M  +1    -0    libs/ui/kis_painting_assistants_decoration.h
M  +9    -20   libs/ui/opengl/kis_opengl.cpp
M  +0    -5    libs/ui/opengl/kis_opengl.h

https://invent.kde.org/graphics/krita/-/commit/da0fe44bb426e0acd96142a09682931208ab483d

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to