perf(content): remove exception-driven setup probes

This commit is contained in:
Erik 2026-07-24 15:12:21 +02:00
parent f05afc07c1
commit 230a7df454
11 changed files with 598 additions and 47 deletions

View file

@ -87,12 +87,11 @@ public sealed class MeshExtractor {
try {
// Use the low 32 bits as the DAT file ID
var datId = (uint)(id & 0xFFFFFFFFu);
var resolutions = _dats.ResolveId(datId);
var selectedResolution = resolutions.OrderByDescending(r => r.Database == _dats.Portal).FirstOrDefault();
if (selectedResolution == null) return null;
var type = selectedResolution.Type;
var db = selectedResolution.Database;
if (!_dats.TryResolvePreferred(
datId,
out IDatDatabase? db,
out DBObjType type))
return null;
if (type == DBObjType.Setup) {
if (!db.TryGet<Setup>(datId, out var setup)) return null;
@ -203,12 +202,11 @@ public sealed class MeshExtractor {
}
ct.ThrowIfCancellationRequested();
var resolutions = _dats.ResolveId(id);
var selectedResolution = resolutions.OrderByDescending(r => r.Database == _dats.Portal).FirstOrDefault();
if (selectedResolution == null) return;
var type = selectedResolution.Type;
var db = selectedResolution.Database;
if (!_dats.TryResolvePreferred(
id,
out IDatDatabase? db,
out DBObjType type))
return;
if (type == DBObjType.Setup) {
if (!db.TryGet<Setup>(id, out var setup)) return;