Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin

It's running on Qt 6.


Thanks for sharing! Do you use regular widgets, or QML? Any tricks to get good graphics performance?

And would you mind sharing your reasoning behind deciding for Qt?


We use QML.

As for graphics performance, I think the heavy lifting is done by Qt6, as it took advantages of modern GPU rendering APIs on each platforms (e.g. Metal on macOS and DirectX 11 on Windows).

What we did to keep the UI responsive is more of following the best practices when possible, things like: * Use QML binding when we can (e.g. serving data from C++/Rust via Qt View Models), this so that frequent data changes will be batched to UI redraws only when needed * Use C++/Rust as much as possible for calculating data needed in the UI rendering (e.g. the waveform's data) * Avoid fractional pixel position/sizes during animation (e.g. by rounding the values), so that UI redraws are quantized to changes on visible pixels

We decided to use Qt because we previously worked in a few successful commercial audio projects with it (for our previous employers), and felt quite positive with those - so mostly just to work with what we already know, as the audio side of the project also requires a fair amount of attention, and we are a very small team.

We have an upcoming article about the technical details of the project [1], perhaps that will be interesting to you, if so stay tuned :)

[1]: and here is a sneak peek https://twitter.com/teapodo_audio/status/1559695230693101568...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: