using Blacklight.Core; using System; namespace Glass.Testbed { /// /// Holds what one frame costs. /// public readonly struct FrameRecord { public readonly TimeSpan Update; public readonly TimeSpan Draw; public readonly FrameCost Cost; public readonly long AllocatedBytes; public readonly CollectionCounts Collections; // Thread cycles count only while the thread is on a core, so against the wall-clock times above they tell // running slowly apart from being switched out. Zero where the host can't read them. public readonly long UpdateCycles; public readonly long DrawCycles; public FrameRecord(TimeSpan update, TimeSpan draw, FrameCost cost, long allocatedBytes, CollectionCounts collections, long updateCycles, long drawCycles) { Update = update; Draw = draw; Cost = cost; AllocatedBytes = allocatedBytes; Collections = collections; UpdateCycles = updateCycles; DrawCycles = drawCycles; } } }