Files
DarkflameServer/dDashboardServer/routes/UgcRoutes.h
Aaron Kimbrell e8fdf64186 perf(dashboard): UGC page stays fast with tens of thousands of creations
The UGC page ran a CDClient query per distinct car or rocket combination
to find each preset's sample (thousands on a large server), re-read the
car and rocket build types from the CDClient on every list request, and
grouped every build into assemblies again on every page, sort or filter
change of the Cars and rockets list.

The modules and icon kinds are now read once at startup on the main
thread (UgcRoutes::Preload), so the web threads never query the CDClient
(which they must not), a combination's kind comes from that table, and
the grouped assemblies are shared by the requests of 15 seconds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:07:30 -05:00

11 lines
340 B
C++

#pragma once
// The UGC page: what the UGC server has made of players' models and modular builds, and making them again
namespace UgcRoutes {
void RegisterRoutes();
// Reads the client data the UGC page needs (modules, build types) once, on the main thread at startup, so the web
// threads never query the CDClient
void Preload();
}