ThreadPool now working with no memory leaks

This commit is contained in:
Dynamitos
2022-02-14 16:29:26 +01:00
parent 6d48267ec2
commit 5268bb68e2
15 changed files with 287 additions and 97 deletions
+14 -2
View File
@@ -43,18 +43,30 @@ void Scene::start()
Job Scene::beginUpdate(double deltaTime)
{
//std::cout << "Scene::beginUpdate" << std::endl;
Array<Job> jobs;
for(auto actor : rootActors)
{
co_await Job::all(actor->launchTick(static_cast<float>(deltaTime)));
jobs.addAll(actor->launchTick(static_cast<float>(deltaTime)));
}
co_await Job::all(jobs);
//std::cout << "Scene::beginUpdate finished waiting" << std::endl;
for(auto job : jobs)
{
assert(job.done());
}
}
Job Scene::commitUpdate()
{
//std::cout << "Scene::commitUpdate" << std::endl;
Array<Job> jobs;
for(auto actor : rootActors)
{
co_await Job::all(actor->launchUpdate());
jobs.addAll(actor->launchUpdate());
}
co_await Job::all(jobs);
//std::cout << "Scene::commitUpdate finished waiting" << std::endl;
}
void Scene::addActor(PActor actor)