Add TaggedScheduler, couple lifetime of tasks and orchestrator (#2398)

This commit is contained in:
mwilsnd
2024-06-28 17:20:03 -04:00
committed by GitHub
parent b2fe5021b8
commit c4c75452b6
99 changed files with 759 additions and 489 deletions

View File

@@ -169,10 +169,11 @@ GeometryTile::GeometryTile(const OverscaledTileID& id_, std::string sourceID_, c
: Tile(Kind::Geometry, id_),
ImageRequestor(parameters.imageManager),
sourceID(std::move(sourceID_)),
threadPool(Scheduler::GetBackground()),
threadPool(parameters.threadPool),
mailbox(std::make_shared<Mailbox>(*Scheduler::GetCurrent())),
worker(threadPool,
worker(parameters.threadPool, // Scheduler reference for the Actor retainer
ActorRef<GeometryTile>(*this, mailbox),
parameters.threadPool,
id_,
sourceID,
obsolete,
@@ -194,7 +195,7 @@ GeometryTile::~GeometryTile() {
imageManager->removeRequestor(*this);
if (layoutResult) {
threadPool->runOnRenderThread(
threadPool.runOnRenderThread(
[layoutResult_{std::move(layoutResult)}, atlasTextures_{std::move(atlasTextures)}]() {});
}
}