Details
-
Bug
-
Resolution: Done
-
P2: Important
-
4.8.4, 5.0.0 Beta 2
-
BlackBerry 10 10.0.9 beta3
Description
I noticed a very poor performance of http downloads in my application. During my investigations I found that disabling I/O buffering fixes this problem.
Internally Qt uses fopen() for buffered I/O and open() for unbuffered (see openModeToFopenMode() in qfsfileengine_unix.cpp). BlackBerry/QNX documentation [1] suggests to prevent usage of fopen() for file I/O because of FS buffering.
I have attached a small test application for BlackBerry 10. Everyone can see a difference between buffered and unbuffered I/O by a simple change of QFile::open() parameters in downloadmanager.cpp:27.