itsmattkc
f769e88e6d
taskmanager: restore one task per thread at idlepriority
2020-02-21 14:21:32 +11:00
itsmattkc
5a070f14de
general: use IdlePriority rather than LowPriority
...
Fixes a number of playback stuttering and general UI lag issues by setting all
background tasks to IdlePriority rather than LowPriority. While it was assumed
LowPriority tasks would always get scheduled below NormalPriority (e.g. main
thread) tasks, it turns out this is not always the case. If the background tasks
start consuming a lot of CPU cycles, the scheduler may use "dynamic scheduling"
to schedule them above the main thread regardless leading to UI lag. This is
apparently the case for all thread priorities apart from IdlePriority, which
is allegedly a special case where threads are *only* scheduled when other
threads aren't busy ensuring the main thread stays responsive.
2020-02-20 17:48:50 +11:00
itsmattkc
e68e89c40b
renderer/decoder: use same background mechanism to conform audio as well
2020-02-19 16:45:34 +11:00
itsmattkc
c0d42c4fda
taskmanager: fixed typo and restricted taskmanager to one task at a time for now
2020-02-17 02:11:04 +11:00
itsmattkc
21755c7f20
taskmanager: ensure task is finished before deleting it
...
Fixes race condition that could result in a segfault if a Task hadn't emitted
Finished() before it was destroyed by TaskManager.
2020-02-16 13:01:38 +11:00
itsmattkc
e93c3d4ce4
taskmanager: try to start next waiting tasks when a task finishes
...
Fixes bug where tasks would get stuck indefinitely.
2020-02-16 10:28:34 +11:00
itsmattkc
3efbcc28ef
ffmpegdecoder: improved index reliability
2020-02-15 23:39:33 +11:00
itsmattkc
653709dc84
try to index media immediately on import
...
Since indexing is supplemental, it can be made a background task that can occur
at more or less any time. So we run it as soon as possible.
2020-01-17 03:58:29 +11:00
itsmattkc
61c60e00d6
various small code cleanups and improvements
...
Largely refactoring work to make the code somewhat nicer to work with.
2019-12-26 19:00:08 +11:00
itsmattkc
c0f6ee534a
minor code cleanups
2019-08-09 10:43:14 +10:00
itsmattkc
a9ff2389e6
minor code cleanup
2019-07-06 21:17:19 -05:00
itsmattkc
3038af3482
tasks are shared ptrs that can be cancelled and undone
2019-07-06 13:22:47 -05:00
itsmattkc
0966b62f29
various improvements to import process and project management
2019-07-01 15:40:09 -07:00
itsmattkc
026c500802
minor improvements to css
2019-07-01 11:08:14 -07:00
itsmattkc
8e006f3883
automatically delete tasks that have completed successfully
2019-06-30 12:28:40 -07:00
itsmattkc
2e6b36b2ae
remove UI objects when a task is deleted
2019-06-29 02:30:42 -07:00
itsmattkc
84720b39cb
simple UI for tasks
2019-06-29 01:42:07 -07:00
itsmattkc
1a25a14a61
tasks have dependencies
2019-06-28 10:57:25 -07:00
itsmattkc
76eaee65e0
documented task manager
2019-06-27 11:23:17 -07:00
itsmattkc
bf9dd68d58
task manager will trigger new tasks as old tasks end
2019-06-27 11:11:49 -07:00
itsmattkc
8117e13c15
base task and taskmanager class
2019-06-27 11:03:08 -07:00
itsmattkc
e435f6ee83
licenses for task source files
2019-06-27 09:46:29 -07:00
itsmattkc
f0f74e0f3b
created task manager classes
2019-06-27 09:45:45 -07:00