Krita 4.2 has been released on May 29th, 2019. While the core team focused on stability and performance, this release also includes many new features and the performance work and the work on handling palettes done during the 2018 Google Summer of Code. Join us for the ride!
Updated Tablet Support for Windows, Linux and macOS
We finally managed to bring together the code we wrote for supporting tablets on Windows (both Wintab as Windows Ink), Linux and macOS with the existing code in our development platform, Qt. This has improved support for multi-monitor setups, more tablets are supported and a host of bugs with tablets have been resolved. This was a huge amount of work!
Note: we needed to patch Qt to make all of this work. The patches have been upstreamed but might not yet be integrated by your linux distribution. Until that happens, you might need to use the Linux AppImage instead of Krita as built by your distribution.
HDR Animation created in Krita by Agata Cacko
Krita at CES2019
Krita has been able to work with HDR images since 2005, but it’s now possible to view your HDR image in HDR, on supported hardware. You can now not only save your HDR image in .kra or OpenEXR files, but also extended PNG. With the right version of FFMPEG you can even create animations in HDR! Having the correct computer setup for this can be rather complicated, so head to the documentation to see what is involved. HDR display is only available on Windows 10.
If you have HDR enabled, the Small Color Selector Docker has an extra “nits” slider that allows you to change the brightness of a specfic color.
This work was possible through cooperating with Intel. The work also involved helping these HDR changes get pushed into the development framework Krita uses, Qt. This can allow other applications to take advantange of these features.
Improved brush speed performance with vectorization and lock-free programming
Two of our 2018 Google Summer of Code students sped up Krita with programming techniques called lock-free hashmap for managing the pixel data (Andrey Kamakin) and GPU vectorization (Ivan Yossi). The lock-free hashmap should improve Krita’s speed with multithreading, the chart shows the performance gains based off your CPU core count. Vectorization for the Gaussian and Soft-brush tips optimizes Krita by taking advantage of your processor’s ability to do similar calculations really quickly, the gif above showing the speed difference for the gaussian brush tip.
The left axis on the graph is time in milliseconds. You can see the painting operations go from 1.5 seconds down to about 1 second with the lock-free hashmap. The blue line shows how Krita previously worked.
Improved Color Palette Docker
An improved color palette from one of our Google Summer of Code students for 2018 — Michael Zhou. It is more stable as well as some of the following changes:
Instead of an entry-based docker, a rows and column based docker.
It can hold empty entries, which is useful for organizing.
Stable drag and dropping of colors.
Easy adding in entries by clicking them in the docker.
Right-clicking removes an entry.
Palettes can be put into the KRA file.
You can press the folder icon to open a palette editing dialog where you can set a palette to be stored in the document or resource-folder.
Animation Python API
Control and create customized workflows that deal with animations.
Move to a specific frame
Set the frame rate
Set start and end frame playback length
A couple plugins have already been created that are using some of these functions. There was also another fix to the Node/Layer API where the “scaleNode” call was passing the wrong parameter
Options to control how your backups are done. You can even control if you want your backup files to be stored in a different location. These settings are found in the “Configure Krita” main menu under the General section.
If you have very large files and are have issues saving, you can enable the Zip64 options.
Color Gamut Masking
A new color gamut docker where you can limit your colors shown. New contributor Anna Medonosova has added this. This feature is available with the artistic color selector and the circle advanced color docker displays. Note: The default triangle selector doesn’t allow this feature.
You can also rotate the gamut mask by using the slider. Create new masks and edit existing ones through the Gamut Mask docker. You can disable the mask with the selector icon at the top as shown to the left of the rotation slider.
News about Krita
A news widget has been added to the startup screen that allows Krita to fetch the latest news coming from krita.org. Now, if there’s something interesting, like a new release, you’ll be in the front row! Clicking on a news item will take you to the web page. This is off by default, so you will need to turn it on. Special thanks goes out to Alvin Wong on getting the OpenSSL library included to make this work.
Improved Artistic Color Selector
More options and cleaned up Artistic Color Selector. There is now a “continuous mode” (infinity symbol) that allows you to remove the stepping with certain attributes. Additional options for new gamut masking. Anna Medonosova has added this great feature.
Undo operations with move tool
Move tool operations are now part part of the undo history. This means you can undo multiple moves in a row while you are using the move tool.
Move and transform selections
Easily move, rotate, or transform the selection by itself. You can even edit the anchor points with how the selection is made to do things like rounding corners.
Improve display of memory usage
Give a better indication when your computer is running out of memory. This can be useful as well when making an animation and you won’t have enough memory to actually render it. This bar already exists in the status bar, but should help warn people better.
Overview Docker improvements
Rotate and mirror canvas quickly from the docker. The Overview docker now also better preserves the aspect ratio and doesn’t stretch when some layers are hidden.
Resize layer thumbnails
There is a new slider on the layers docker that allows you to resize the layer thumbnails to see them larger. The size is saved for when you return back to Krita the next time.
Better preview when showing multiple axes.
There is also a new “Copy Translate” mode. This allows you to specify multiple cursors on the screen to paint or draw with at the same time. This is accessed and used through the Tool options like the other modes.
Painting mask performance improvement
You can create a selection with your normal brushes using the Global Selection option. This has previously been a slow area until now. They are now significantly faster. A small workflow change was made as well. If you show the Global Selection mask with no selection, everything will be selected by default.
Improvement to Select Opaque
Ctrl + clicking a layer’s thumbnail in the layer docker makes a selection of the layers content. This is the same as the right click option Select Opaque. There are also new methods for making layer selections. “Select Opaque” has been renamed to “Select Opaque (replace)” now to account for the new functions.
Ctrl+click = replace selection
Ctrl+shift+click = add selection
Ctrl+alt+click = subtract selection
Ctrl+shift+alt+click = intersect selection
The sharpness option, which sets a threshold filter on the current brushtip now allows controlling this threshold with pressure, making it easy to create bristle like brushes from any with the pixel brush.
Flow and Opacity now interact more like in other programs. The above gif shows how to adapt a brush which uses the new behaviour to go back to the old behaviour. The new behaviour should make it a lot easier to make delicate strokes. For now you can still go back to using the old behaviour globally by going to Configure Krita → General → Tools → Flow Mode
Clone Brush – Reset Origin
A new option was added to the clone brush that allows you to reset the origin after every brush stroke.
Simplex Noise Generator
Add ability to dynamically add noise to your document. There are also options to make the noise tileable.
New Blend modes
New categories of the blend modes were added to create interesting effects.
Other Changes and bug fixes
Fix: Allow changing layer name to set document as modified (bug 380437)
Fix: Allow undoing when changing layer names (bug 380437)
Fix: Update the undo limit if we change it
Fix: Handling of modified document notification in sub-window mode (bug 386488)
Fix: Fix when holding right-click over layer’s color settings (bug 392815)
Fix: Do not show language switch warning when going back to the default (bug 362961)
Fix: Gradient map color mapping issues (bug 388976)
Fix: Layout improvements and showing levels for histogram filter (bug 376048)
Improvement: Add warning when adding shape to clone layer (bug 406730)
Usability: Make default background for text editor white for readability
Fix: Activation of FFTW convolution worker (bug 407062)