Laurent Montel,
Andy Gryc
If you’re already using QML in Qt, you know that it can help quickly create flexible user interfaces using little or no C++ programming. With a basic text file and some JavaScript logic, you can put together a pretty sophisticated interface like that shown in the Qt Quick Clock demo (below) with a minimum of […]
You want to build the cleanest code, the smartest code, the fastest code. You’re the alpha geek on your team, or maybe you aspire to be. You have an all-encompassing need to know. Let me introduce a new series we’re going to be running here on the KDAB blog. I’m Andy Gryc, and for the […]
It's usually said "only improve performance where a profiler tells you to". I don't completely agree. Take a big C++ library like Qt: can you profile all classes and all code paths ? It would take a couple of years to accomplish and analyse the results. It's expensive: It usually only happens if the speed-up […]
Quick overview of profiling tools QtQuick is often used to create UIs for embedded devices. One SoC that is quite popular at the moment is the i.MX 6 board from Freescale, with its Vivante GC2000 or GC880 3D GPU. Performance on such a device matters, users expect a fluid interaction. With the QML Profiler, Qt […]
Qt is a native library at the heart. As a native (C++) library, it already outperforms most higher-level language libraries when it comes to startup performance. But if you're using native languages, you usually do so because you need to get the most out of the available hardware and being just fast may not be […]
Using the QML engine and QtQuick scenegraph to introspect and analyze performance. Abstract: A fluid and performant user interface in QtQuick applications is an important factor, especially considering that users increasingly demand an "iPhone-like" experience, while at same time, applications often run on a resource-constrained embedded system. What can be done when a QtQuick application […]
...just think of performance constrained embedded platforms. But how do you make your C++ application faster? This talk will show you how to find bottlenecks in a C++ program using various tools. Then we will look into some solutions to common issues and top it off with some guidelines for new code. Abstract: Often one […]
One type of bug I see very often comes down to syntax errors in QML and JavaScript files. Most of the time these errors are simple typos; however, they creep in, go unnoticed by continuous integration and sometimes reach production -- especially on delayed loaded components. I like fixing bugs, but what I love even […]
Thomas McGuire,
Anton Kreuzkamp
This is a typical situation when you program a GUI for an application. You have just created a new control, you start your application and... no control. But now: Is it obscured? Is it misplaced? Is it completely transparent or set to 'invisible'? Is my custom OpenGL-stuff broken or is the item actually not created […]
(NOTE: this blog post has been edited many times since its original publication) You've heard of valgrind before, its default tool (memcheck) is such a life saver, being able to detect memory-related bugs in your code (leaks, double deletions, use of deleted memory, use of uninitialized memory, etc.). Well, it turns out that valgrind also […]
Struggling with software issues related to debugging, performance, memory usage, or graphics across various platforms? KDAB is here to help you overcome these challenges and optimize your software for superior performance.
Enhance the performance of your Android project with KDAB's expertise in integrating C++, Qt, and third-party libraries. This page discusses how KDAB can help you create stunning UIs for various applications, improve computation efficiency, and leverage Android as a prototyping platform. Discover why KDAB is the preferred choice for Qt on Android services and how we can support your development needs.
This whitepaper is the first in KDAB's Software Development Best Practices series and covers the basics. Many of the tips will not surprise most professional software engineers, but if you’re just getting started, it can be a handy reminder. If you’re not already doing everything here, you should be.
While some methodologies, workflows, and tools are specific to an individual domain, many are applicable regardless of whether you’re developing a web service, embedded device, mobile app, or desktop application. This whitepaper gives a few general best practices widely applicable to most development projects.
In a modern software development process, continuous integration (CI) and continuous deployment (CD) play a vital role. However, implementing CI/CD within an organization can be challenging. Due to the need for customization to align with specific work products and workflows, it often requires some trial and error. To help you minimize needless dead-ends, we’ll share some of our hard-won advice on using and configuring CI/CD systems, as well as explain why you should be using CI/CD if you’re not already.
Andreas Holzammer,
Leon Matthes,
Lieven Hey,
Eystein Stenberg
For consumer apps in app stores, update delivery is straightforward. But many systems—like embedded devices, industrial desktops, and specialized tablets—operate outside these stores. For such applications, developers must design their own robust update delivery mechanism.