Skip to content

Commit 3bef3cf

Browse files
committed
Add AddTask() and SyncTask() timers
1 parent 78a7a39 commit 3bef3cf

5 files changed

Lines changed: 25 additions & 3 deletions

File tree

src/engine/renderer-vulkan/Thread/SyncTask.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,21 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3434
// SyncTask.cpp
3535

3636
#include "TaskList.h"
37+
#include "ThreadMemory.h"
3738

3839
#include "SyncTask.h"
3940

4041
void SyncTask( Task&& task ) {
42+
TLM.syncTimer.Start();
43+
4144
FenceMain syncFence;
4245
task.complete = syncFence;
4346

4447
taskList.AddTask( task );
4548

4649
syncFence.Wait( 0 );
50+
51+
TLM.syncTimer.Stop();
4752
};
4853

4954
void SyncTask( Task* task ) {

src/engine/renderer-vulkan/Thread/TaskList.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,12 @@ uint16_t TaskRing::AddToTaskRing( Task& task, const bool unlockQueueAfterAdd ) {
196196
}
197197

198198
void TaskList::MoveToTaskRing( TaskRing& taskRing, Task& task ) {
199-
IDToTaskRing( task.id ).RemoveTask( IDToTaskQueue( task.id ), IDToTaskID( task.id ) );
199+
TLM.addTimer.Start();
200200

201+
IDToTaskRing( task.id ).RemoveTask( IDToTaskQueue( task.id ), IDToTaskID( task.id ) );
201202
taskRing.AddToTaskRing( task );
203+
204+
TLM.addTimer.Stop();
202205
}
203206

204207
void TaskList::FinishDependency( const uint16_t bufferID ) {
@@ -249,6 +252,8 @@ void TaskList::AddTask( Task& task, TaskInitList<T>&& dependencies ) {
249252
return;
250253
}
251254

255+
TLM.addTimer.Start();
256+
252257
Task* taskMemory = tasks.GetNextElementMemory();
253258
taskMemory->active = true;
254259
task.active = true;
@@ -271,6 +276,8 @@ void TaskList::AddTask( Task& task, TaskInitList<T>&& dependencies ) {
271276
*taskMemory = task;
272277

273278
taskRing->UnlockQueue( IDToTaskQueue( task.id ) );
279+
280+
TLM.addTimer.Stop();
274281
}
275282

276283
void TaskList::AddTask( Task& task, std::initializer_list<Task> dependencies ) {

src/engine/renderer-vulkan/Thread/Thread.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,9 @@ void Thread::Run() {
137137
fetchQueueLock = TLM.fetchQueueLockTimer.Time();
138138
fetchOuter = TLM.fetchOuterTimer.Time();
139139

140+
taskAdd = TLM.addTimer.Time();
141+
taskSync = TLM.syncTimer.Time();
142+
140143
total.Stop();
141144
}
142145

@@ -152,6 +155,7 @@ void Thread::Exit() {
152155
fetching.FormatTime( Timer::ms ), execing.FormatTime( Timer::ms ), dependencyTimer.FormatTime( Timer::ms ),
153156
idle.FormatTime( Timer::ms ) );
154157

155-
Log::NoticeTag( "id: %u: fetch: queueLock: %s, outer: %s", id, Timer::FormatTime( fetchQueueLock, Timer::ms ),
156-
Timer::FormatTime( fetchOuter, Timer::ms ) );
158+
Log::NoticeTag( "id: %u: fetch: queueLock: %s, outer: %s, add: %s, sync: %s", id,
159+
Timer::FormatTime( fetchQueueLock, Timer::ms ), Timer::FormatTime( fetchOuter, Timer::ms ),
160+
Timer::FormatTime( taskAdd, Timer::ms ), Timer::FormatTime( taskSync, Timer::ms ) );
157161
}

src/engine/renderer-vulkan/Thread/Thread.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ class Thread :
7575

7676
uint64_t fetchQueueLock;
7777
uint64_t fetchOuter;
78+
79+
uint64_t taskAdd;
80+
uint64_t taskSync;
7881
};
7982

8083
#endif // THREAD_H

src/engine/renderer-vulkan/Thread/ThreadMemory.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ class ThreadMemory {
8888
GlobalTimer fetchOuterTimer;
8989
GlobalTimer fetchQueueLockTimer;
9090

91+
GlobalTimer addTimer;
92+
GlobalTimer syncTimer;
93+
9194
~ThreadMemory();
9295

9396
void Init();

0 commit comments

Comments
 (0)