Solved QTimer doesn't work the expected way
-
@jsulm said in QTimer doesn't work the expected way:
@MasterBlade said in QTimer doesn't work the expected way:
May I ask how to stop the debugger?
Simply press the same button you used to start debugging...
I paused the debugger, but didn't find many differences. Application output only has a single line. Where else should I check?
15:16:35: Debugging starts
-
@MasterBlade said in QTimer doesn't work the expected way:
Where else should I check?
In the debugger. In debugger view there is "Debugger" section with the stack trace (select thread #1). You should really get familiar with the debugger.
-
@jsulm said in QTimer doesn't work the expected way:
@MasterBlade said in QTimer doesn't work the expected way:
Where else should I check?
In the debugger. In debugger view there is "Debugger" section with the stack trace (select thread #1). You should really get familiar with the debugger.
-
@MasterBlade When exactly did you take this screen-shot? When your app was blocked? You also can check other threads.
-
@jsulm said in QTimer doesn't work the expected way:
@MasterBlade When exactly did you take this screen-shot? When your app was blocked? You also can check other threads.
Yeah it was taken when the program was blocked.
Thread #1-5 looks the same to me.Thread #6 and #7
#8 and #9 are same as #1-5
#10-13
#14
#15
-
@MasterBlade Do you actually use threads in your app?
-
@jsulm said in QTimer doesn't work the expected way:
@MasterBlade Do you actually use threads in your app?
I don't think I did. I don't know why there are so many threads.
-
@MasterBlade That's normal. I just wanted to know whether you create threads also by yourself. From the stack trace I can't see anything helpful.
-
@jsulm said in QTimer doesn't work the expected way:
@MasterBlade That's normal. I just wanted to know whether you create threads also by yourself. From the stack trace I can't see anything helpful.
There is one problem I found curious. I am also using QSettings to write INI files, and I found it quite slow. Usually takes like 2 secs to write. I didn't use QTimer in that code. So I guess if it's QSettings that caused the block.
-
@MasterBlade Where are the settings stored? Is it network drive, local drive, Windows registry?
-
@jsulm said in QTimer doesn't work the expected way:
@MasterBlade Where are the settings stored? Is it network drive, local drive, Windows registry?
local hard disk in INI format
-
@MasterBlade It is really strange if it takes so long.
-
@MasterBlade QSettings is usually super quick,
how big is the resulting ini file ending up ?
Mb's ? -
@jsulm said in QTimer doesn't work the expected way:
@MasterBlade It is really strange if it takes so long.
Well actually I was storing it in OneDrive folder. Will that take longer?
-
@J-Hilk said in QTimer doesn't work the expected way:
@MasterBlade QSettings is usually super quick,
how big is the resulting ini file ending up ?
Mb's ?Only 94 KiB
-
@MasterBlade said in QTimer doesn't work the expected way:
Well actually I was storing it in OneDrive folder. Will that take longer?
It can. Try to store it locally and see whether this makes a difference...
-
@jsulm said in QTimer doesn't work the expected way:
@MasterBlade said in QTimer doesn't work the expected way:
Well actually I was storing it in OneDrive folder. Will that take longer?
It can. Try to store it locally and see whether this makes a difference...
I tried to store ini file to a different folder other than OneDrive. It is now much faster. Around 250 ms. Not super fast but somewhat acceptable.
Edit: Saving in Onedrive folder takes about 850 ms -
@MasterBlade You could do the INI file writing in a thread QtConcurrent::run should be enough.
-
@jsulm said in QTimer doesn't work the expected way:
@MasterBlade You could do the INI file writing in a thread QtConcurrent::run should be enough.
It's now working super fast! Thank you so much!