2.10.8: fewer hitches

- Sending on a background thread (the game thread blocked whenever the TCP
  buffer was full, e.g. while uploading the save); small frames are batched
- Server save requests: routine saves wait for a calm moment (not while driving
  fast) and are announced; urgent flag from server 2.10.5
- Dynamic built-in font for all MSCO GUI (Unity logged hundreds of
  "Font size and style overrides" warnings with stutters)
- Admin VEHICLE tab rescans every 30 s / after actions instead of every 5 s;
  time/weather FSM search less often
- Reused buffers for Build/Frame/Poll (less garbage, fewer GC pauses)
- Hitch log: GC and save detection, count of hitches between reports
- Show Bolt Size 1.0.1: finds the FPSCamera (Camera.main may be missing), uses
  MSCO's shared FSM list instead of FindObjectsOfType every 2 s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-04 00:08:36 +02:00
co-authored by Claude Opus 5.5
parent e32ddadbc8
commit d195a484d8
9 changed files with 277 additions and 57 deletions
+5 -2
View File
@@ -61,10 +61,13 @@ namespace MSCO
new[] { "Radiator", "Water", "Coolant", "6" },
};
/// <summary>Database neu einlesen (höchstens alle 5 s, außer erzwungen).</summary>
/// <summary>
/// Database neu einlesen (höchstens alle 30 s, außer erzwungen - nach jeder Aktion). Das Durchsuchen aller FSMs
/// dauert spürbar (Ruckler bei offenem Admin-Menü); die angezeigten Werte selbst sind ohnehin live.
/// </summary>
public static void Refresh(bool force)
{
if (!force && Time.realtimeSinceStartup - scannedAt < 5f) return;
if (!force && Time.realtimeSinceStartup - scannedAt < 30f) return;
scannedAt = Time.realtimeSinceStartup;
fluids.Clear();
parts.Clear();