4 ms·
My personal experience in using QT apps is that they load / render perceptibly slower than the native UIs and QT applications are slightly bulkier in size (stor
by webmobdev 5y ago
My personal experience in using QT apps is that they load / render perceptibly slower than the native UIs and QT applications are slightly bulkier in size (storage space and memory). This is kind of understandable as QT emulates the UI through its own library (unlike, say, Lazarus IDE / Delphi GUI library that directly use the native UI library). However, size doesn't matter much today, and the very minor rendering delay is hardly discernable and doesn't reduce its usability in any manner. QT is a mature framework and especially suited for C++ developers. It's one of the popular ways open source developers choose to make their software available on multiple platforms.
As for "OS built around QT" you can try it our yourself - KDE Plasma ( https://kde.org/ https://kde.org/ ) is a GUI for Linux / xBSD that is built with QT, and on the mobile scene, Sailfish OS ( https://sailfishos.org/ https://sailfishos.org/ ) also chose QT for its OS UI and recommends it for app development on its platform.
All said, often nothing outperforms the native libraries in terms of usability. (Performance, in terms of resource use, is a different matter as there are GUI libraries that are actually lighter on the system than the native ones, and even QT).
- jcelerier 5y ago> This is kind of understandable as QT emulates the UI through its own library (unlike, say, Lazarus IDE / Delphi GUI library that directly use the native UI library). In the end it does not matter that you push pixels from qt5gui.dll or shell32.dll, no ?
- raphaelj 5y agoExcept that Qt might not be loaded/initialized by the time you launch your app.
- jcelerier 5y agoI develop a Qt app which I benchmark regularly and the actual Qt initialization (from exec to an initialized QApplication) on an average computer is on the order of a few milliseconds (10-15 here). Checked a bit more and the time to first frame, with GL set up, etc., is ~100ms.
- webmobdev 5y agoSpecifically, with regard to what we are discussing, it does as QT, technically, does a poorer job than the native libraries of the OS in "pushing" these pixels to the screen. In general too, when it comes to user interfaces - a lot of work has already been done to make an interface that is familiar and easy to use for the user. Often the recreation miss some design goals or usability features or even edge cases, and that ultimately provides a poor user experience. (For example, some native UIs allow a screen reader for blind users to read out the the UI elements - if your UI library doesn't support it, blind users won't be able to use applications built with such a library). QT does a great job for multi-platform application development. But like all other multi-platform toolkits, it does have its downsides.
- nyanpasu64 5y agoNot sure why you're downvoted. Even as someone who likes Qt, I definitely noticed that apps like XNView MP load slower than Win32/MFC apps (a few years ago on an older computer though). > nothing outperforms the native libraries in terms of usability. Win32 apps by default have hard-coded widget positions, which can't scale dynamically to larger fonts (though you can try DPI scaling, which is a choice between "blurry" and "text sometimes overflows the hard-coded widget sizes"). Though I don't like how sloppy Qt apps with multiple resizable widgets in a row have strange scaling breakpoints caused by various size policies and [minimum] size hints, and Qt apps tend to stutter when resizing.
- rixed 5y agoWhat operating system are you referring to? On Linux, Qt does have any underlying UI to emulate. On many others, my understanding is that this "emulation" is just theming. And on others it requires to draw on non optimized video buffers, which then become noticeable.