Bug 421904 - KTorrent does IO in the GUI thread
Summary: KTorrent does IO in the GUI thread
Status: REPORTED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Kubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-22 10:31 UTC by Lastique
Modified: 2023-08-04 12:05 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lastique 2020-05-22 10:31:16 UTC
SUMMARY

Apparently, KTorrent performs file IO in the main GUI thread. This results in GUI becoming unresponsive at times when KTorrent performs heavy IO activity (e.g. when it downloads or seeds torrents at high bitrates). This is more prominently seen when the files are stored on rotational HDD. I'm experiencing multi-second GUI freezes at times.

It would be better to use separate threads for file/network IO and GUI.

Operating System: Kubuntu 20.04
KTorrent: 5.1.2
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Kernel Version: 5.4.0-31-lowlatency
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-2600K CPU @ 3.40GHz
Memory: 15.6 GiB of RAM
Comment 1 Lastique 2023-08-04 12:05:09 UTC
This is still a problem. One way to reproduce it is:

1. Enable disk space reservation in Settings -> Advanced. Enable both "Reserve disk space before starting a torrent" and "Fully reserve disk space".
2. Add a new torrent to download queue. The torrent should be large enough (tens, hundreds of gigabytes, with large files) and should be downloaded to a ntfs-3g partition. In my case, it's on a SATA SSD drive.
3. Once the disk space reservation starts, try interacting with KTorrent UI. Go into menus, Settings, etc.

The above results in UI stutters, sometimes a few second long freezes. I can also see long gaps between stats updates in the main window (e.g. download/upload rates).

Operating System: Kubuntu 22.04
KTorrent: 21.12.3
KDE Plasma Version: 5.24.7
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Kernel Version: 6.2.0-1009-lowlatency (64-bit)
Graphics Platform: X11
Processors: 16 × 12th Gen Intel® Core™ i7-12700K
Memory: 31.1 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2