perf: memory allocations reduced on universe update

This commit is contained in:
2025-10-16 08:25:02 +03:00
parent 7c62440bba
commit 25db60e436
2 changed files with 5 additions and 4 deletions

View File

@@ -131,9 +131,10 @@ public class Universe : BaseEntity, IUniverse
UnscaledTime = engineTime; UnscaledTime = engineTime;
Time = new(TimeSpan.FromTicks((long)(Time.TimeSinceStart.Ticks + engineTime.DeltaSpan.Ticks * TimeScale)), TimeSpan.FromTicks((long)(engineTime.DeltaSpan.Ticks * TimeScale))); Time = new(TimeSpan.FromTicks((long)(Time.TimeSinceStart.Ticks + engineTime.DeltaSpan.Ticks * TimeScale)), TimeSpan.FromTicks((long)(engineTime.DeltaSpan.Ticks * TimeScale)));
OnPreUpdate?.Invoke(this, new(Time)); IUniverse.UpdateArguments args = new(Time);
OnUpdate?.Invoke(this, new(Time)); OnPreUpdate?.Invoke(this, args);
OnPostUpdate?.Invoke(this, new(Time)); OnUpdate?.Invoke(this, args);
OnPostUpdate?.Invoke(this, args);
} }
public void Draw() public void Draw()

View File

@@ -2,7 +2,7 @@ using System;
namespace Engine.Core; namespace Engine.Core;
public readonly struct UniverseTime(TimeSpan TimeSinceStart, TimeSpan TimeDelta) public readonly record struct UniverseTime(TimeSpan TimeSinceStart, TimeSpan TimeDelta)
{ {
public readonly TimeSpan TimeSinceStart = TimeSinceStart; public readonly TimeSpan TimeSinceStart = TimeSinceStart;
public readonly TimeSpan DeltaSpan = TimeDelta; public readonly TimeSpan DeltaSpan = TimeDelta;