Struct FrameEventArgs
- Namespace
- SkyrimForge
- Assembly
- SkyrimForge.dll
Arguments for OnFrame.
public readonly struct FrameEventArgs : IEquatable<FrameEventArgs>
- Implements
- Inherited Members
Constructors
FrameEventArgs(TimeSpan, TimeSpan)
Arguments for OnFrame.
public FrameEventArgs(TimeSpan Interval, TimeSpan UnpausedTime)
Parameters
IntervalTimeSpanHow long the last frame took, from the game's GetSecondsSinceLastFrame. Every subscriber handling a frame reads the same value.
A running total measures the time the game advanced, not elapsed time. The game stops advancing while a message box is open, so those spans contribute nothing to the total. Summing every interval across one run gave 17.06 seconds where the wall clock gave 27.87, and the 10.81-second difference is the time that run spent in two dialogs. The total advances at the rate of the wall clock while the inventory or the console is open.
GlobalFunctions.GetDurationOfApplicationRunTimeadvances while a message box is open.UnpausedTimeTimeSpanThe unpaused time since the first frame. It is the real time between frames, summed over the frames on which the game is not paused, with each frame counted as at most 0.25 seconds.
Properties
Interval
How long the last frame took, from the game's GetSecondsSinceLastFrame. Every subscriber handling a frame reads the same value.
A running total measures the time the game advanced, not elapsed time. The game stops advancing while a message box is open, so those spans contribute nothing to the total.
Summing every interval across one run gave 17.06 seconds where the wall clock gave 27.87, and the 10.81-second difference is the time that run spent in two dialogs.
The total advances at the rate of the wall clock while the inventory or the console is open.
GlobalFunctions.GetDurationOfApplicationRunTime advances while a message box is open.
public TimeSpan Interval { get; init; }
Property Value
UnpausedTime
The unpaused time since the first frame. It is the real time between frames, summed over the frames on which the game is not paused, with each frame counted as at most 0.25 seconds.
public TimeSpan UnpausedTime { get; init; }
Property Value
Methods
Deconstruct(out TimeSpan, out TimeSpan)
public void Deconstruct(out TimeSpan Interval, out TimeSpan UnpausedTime)
Parameters
Equals(FrameEventArgs)
public bool Equals(FrameEventArgs other)
Parameters
otherFrameEventArgs
Returns
Equals(object)
public override bool Equals(object obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(FrameEventArgs, FrameEventArgs)
public static bool operator ==(FrameEventArgs left, FrameEventArgs right)
Parameters
leftFrameEventArgsrightFrameEventArgs
Returns
operator !=(FrameEventArgs, FrameEventArgs)
public static bool operator !=(FrameEventArgs left, FrameEventArgs right)
Parameters
leftFrameEventArgsrightFrameEventArgs