The first thing to remember is that Krita is a 2D paint application while other programs such as Photoshop are designed for image manipulation. This means that the other programs may have more features than Krita in general– but Krita has tools that are relevant to digital painting. The tools are designed for concept art, creating comics, and textures. If you use a feature that isn’t listed, make a quick video tutorial and let us know. We’ll put it up to share with everyone.
An intuitive user interface that stays out of your way. The dockers and panels can be moved and customized for your specific workflow. Once you have your setup, you can save it as your own workspace. You can also create your own shortcuts for commonly used tools.
Have a shaky hand? Add a stabilizer to your brush to smoothen it out. Krita includes 3 different ways to smooth and stabilize your brush strokes. There is even a dedicated Dynamic Brush tool where you can add drag and mass.
Quickly pick your color and brush by right-clicking on the canvas. You can also use Krita’s tagging system to swap out the available brushes that are displayed. The ring outside of the color selector contains the most recently used colors. These settings can be configured through the preferences.
Customize your brushes with 9 unique brush engines. Each engine has a large amount of settings to customize your brush. Each brush engine is made to satisfy a specific need such as the Color Smudge engine, Shape engine, Particle engine, and even a filter engine. Once you are done creating your brushes, you can save them and organize them with Krita’s unique tagging system.
It is easy to create seamless textures and patterns now. Press the ‘W’ key while painting to toggle wrap-around mode. The image will make references of itself along the x and y axis. Continue painting and watch all of the references update instantly. No more clunky offsetting to see how your image repeats itself.
Import brush and texture packs from other artists to expand your tool set. If you create some brushes that you love, share them with the world by creating your own bundles. Check out the brush packs that are available in the Resource area.
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 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.
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.
Note on File Compatibility with Krita 4.x and Krita 3.x files:
- Krita 5.0 is a major release of Krita. Krita 5.0 cannot load vector layers created before Krita 3.0 and has a completely reworked resource system.
- Krita 5.0 has an updated brush preset file format (.kpp). Krita 4 and earlier cannot use brush presets created in Krita 5.
- Krita 5.0 fixed an issue with text size in documents. However, opening files created with earlier versions of Krita may require changing a setting to get the originally expected text size.
Faster & More Flexible Resource System
We have fully rewritten Krita’s handling of resources like brush presets, gradients, palettes and more. Before we had a fragile system of models, where we should have been using a proper database, and thus, we are now using an SQLite database as the core of our resource handling. This fixes many bugs with tagging and loading resources as well as a handful of UI problems. It also makes our resource system faster and leaner. Because we are now not loading all resources at once, Krita will now start up quicker, and take up less working memory (from our tests, Krita 5.0 took up 200 mb less RAM!).
New bundle manager and configurable resource locations.
Krita’s resource folder used to be hardcoded. Not any more! You can now configure which folder is the resource folder and where the cache is located. Those of us who’d like to have their resource folder on a USB stick will now be able to do so.
As well, we now support more resource libraries. We already had our own resource bundle format, but now we also support photoshop layer style libraries and brush libraries. Documents can now also be seen as a place to store resources, and though we only use it for palettes right now, we hope to extend this in the future.
New Resource Manager
This new manager allows you to mass-tag brushes as well as delete and undelete resources at will (Krita will deactivate these). It comes with nice little UI features, like a tagging widget that shows all the current tags on a resource in one quick glance.
Layer styles are now resources
This allows tagging and searching amongst layer styles, as well as sharing them, or loading several layer styles at once from a downloaded ASL file.
Smoother Gradients & Improved Gradient Tools
Dithered gradients (MR 668)
Gradients are an excellent way to quickly setup the main color swatches of your image, for example, a quick linear gradient for the horizon, or several radial gradients for light sources. However, if you used subtle gradients, you would sometimes see banding, caused by there being too few colors available in 8 bit images for a smooth gradient. We have implemented dithering for gradients in 8 bit images, which involves using a blue noise pattern to create a little bit of offset in the boundary between colors. This way, even 8 bit images which don’t always have enough colors to trick the human eye that something is smooth, can have the illusion of smoothness in these gradients.
There was a Libre Graphics Meeting talk discussing the technical details.
Wide gamut and unbounded gradients (MR 668 , MR 675).
But not only the 8 bit images got love. For images in 16 and 32 bit, the gradients Krita generates will now be able to use the full scale available. Furthermore, we’ve made it possible to store wide gamut and unbounded colors using SVG 1.1 icc-color definitions, meaning that you can now have radial gradients that contain rec2020 green, or whites that would only be possible in HDR images, bringing the conveniences of the gradient tool to people who work in these higher bit depths. We hope to support CSS 4 color definitions for the stop gradients when it’s draft has been completed.
Comparison of gradients with and without dither, with an extra set of examples with increased contrast to display the difference.
Gradient Editors got an overhaul (MR 857).
They are now more cohesive, compact and convenient, with small options left and right to make creating gradients easier than before.
- Easier option on UI to delete stops
- New tear drop display of stops
- New color sorting options
- Cycle through stops with left and right arrows
Faster color management with fast float plugin (MR 726)
With the fast float plugin, the speed of color management improves drastically, especially with 32bit float. This is enabled by default. Color management via LittleCMS enables us to display colors accurately, and is also necessary for professional features like soft proofing and color model support, and is always applied to Krita’s view of the image.
Our Timeline Docker has a new look and a variety of improvements. We’ve removed the old Animation Docker and moved its core functionality directly onto the Timeline. Also, animations can be paused at any time, pinning layers has been made easier, playback range automatically adapts as key frames are added, and a number of other changes have been made to improve visual clarity and the overall feel of navigation, transport and editing. (MR 311 MR 317)
New Storyboarding Tools and Workflow
Thanks to the help of one of our 2020 Google Summer of Code students, Saurabh “Confifu” Kumar, Krita now has a Storyboard Docker that can be used to plan the shots and storytelling of complex shorts or films. (MR 392). This docker does not just allow you to collect and annotate scenes, but also a wide variety of export options, such as PDF and SVG. There are multiple views you can switch between..
User Interface Improvements
Our icons were last refreshed for 2.9, and over the years a few hiccups had emerged. Timothée Giet was hired to give the icon set a good scrubbing, and the UI overall had all sorts of little tweaks done by Raghavendra Kamath, Pedro Reis, Scott Petrovic, Tom Tom, Simon Repp, Paul Franz, Andrei Rudenko, Daniel (Sxnic), and Alvin Wong.
New File Formats with AVIF & WebP
This avif is a frame from Cosmos Laundromat, encoded in rec 2100 pq. Krita opens files like these as 32bit float linear images, making them ready to be used with the LUT docker.
And many more.