Sign up for the KDAB Newsletter
Stay on top of the latest news, publications, events and more.
Go to Sign-up
Qt 5.6 has just been released! Packed with incredible new features, 5.6 is also the first long term support release of Qt: it will be supported for the next 3 years, giving developers a solid foundation for their current and upcoming projects. Once more, KDAB is confirmed to be the largest independent contributor to Qt, as clearly demonstrated by the commit activity graph in Qt (KDAB is the green one):
Qt Project commit stats, up to February 2016. From http://www.macieira.org/blog/qt-stats/
In this post I will summarize some of the contributions to Qt 5.6 that were developed by KDAB engineers. In no particular order:
KDAB is fulfilling its role as the maintainer of the Windows Embedded platform. We are glad to announce that Windows Embedded Compact 2013 is now fully supported by Qt 5.6. Many other fixes for Windows Embedded 7 were also landed.
A crucial feature of high DPI-enabled applications is the ability of react to DPI changes, which may happen for instance if an application's window gets dragged between two screens with a different DPI. KDAB introduced the required infrastructure for Qt Quick applications to detect DPI changes and redraw their contents to the new DPI, which allows elements such as Text
to always match the native display's resolution.
One of the strongest points of Qt-based applications is their ability of matching the native style of the platform they run on. However, in certain scenarios, we may prefer our application to have consistent UIs across different operating systems, even if that means not following the native look and feel. A prominent aspect of this is font rendering: Qt by default uses the platform's font rasterizer, which means having fonts rendered in a different depending on the OS. However, thanks to KDAB's effort, it is possible to use FreeType as the font rasterizer on Linux, Windows, and starting from Qt 5.6, OS X too. This makes it possible to build applications with consistent pixel-perfect text rendering across all these operating systems.
When it comes to a big library like Qt it is often difficult to find bottlenecks and opportunities for optimization. There are simply too many possible code paths, and applications using Qt may be triggering any subset of them, often in non-trivial ways. These code paths need to be instrumented and benchmarked, and fixes need to be developed in case bottlenecks are found. Then, even when a particular code path doesn't show up in a profiler, it is important that the codebase, as a whole, gets constantly audited by using state of the art tools (such as clazy, maintained by KDAB engineer Sérgio Martins), in order to remove all possible source of slowness. Last, it is important that Qt's footprint gets reduced by using the proper C++ constructs that help the compiler generate more efficient and compact code. KDAB is committed to keep Qt at the highest quality. KDAB engineers have provided countless performance improvements to Qt 5.6. The complete list is too long to be reported in this narrow margin, so here's just a few items:
(moc)
parser has been optimized, and in certain cases, made twice as fast.fontconfig
is now considerably faster due to a removal of a O(n²) algorithm.qDeleteAll(hash.keys())
).reserve()
were added in many places where it was possible to determine the number of elements that were going to be added to containers.A special mention goes to KDAB's senior engineer Marc Mutz, who has contributed over 330 commits to the 5.6 release. Thanks, Marc!
Qt 3D continues to be a major area of investment for KDAB as we see this as an important area for future growth of Qt. Qt 5.6 sees the introduction of many new features to Qt 3D including (but not limited to):
We are now performing API polishing ready for the release of Qt 3D alongside Qt 5.7 later this year.
About KDAB
The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world.
Stay on top of the latest news, publications, events and more.
Go to Sign-up
Learn Modern C++
Our hands-on Modern C++ training courses are designed to quickly familiarize newcomers with the language. They also update professional C++ developers on the latest changes in the language and standard library introduced in recent C++ editions.
Learn more
2 Comments
23 - Mar - 2016
Jimmy
Great job, KDAB! I do think a promising future of Qt3D.
24 - Mar - 2016
Lilian
Wow, that's a very considerable contribution... Thanks KDAB for strengthening the community!