Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.4.1
-
None
-
Windows 7 64-bit
Qt 5.4.1 (MSVC 2010, 32 bit)
-
96cc8eec9b32f4e80c2d748687c485bc79133d39
Description
(I had also posted about this problem at http://lists.qt-project.org/pipermail/interest/2015-April/016312.html)
When QProcess starts an external executable on windows, a 100 ms timer (from NOTIFYTIMEOUT) is created to poll for any pending writes to the process. This polling created unnecessary CPU usage on Qt apps that are idle just because they launched a process.
A similar poll was used for reading from the process and I believe was fixed by QTBUG-23012. It will be good if this can be done for the writes as well, or at least an option be given to completely disable the poll if the Qt app doesn't have anything to write to the external process.
This is important because for some user-bases (such as the ones that comprise my app's users) can move away from your app because it uses CPU when idle.
Attachments
Issue Links
- relates to
-
QTBUG-23902 QWindowsPipeWriter should use QWinOverlappedIoNotifier
- Open
For Gerrit Dashboard: QTBUG-45457 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
110060,8 | remove the "wonderful Windows notifier" from QProcess | 5.5 | qt/qtbase | Status: MERGED | +2 | 0 |