···190190191191 private double maximumUpdateHz;
192192193193+ /// <summary>
194194+ /// The target number of update frames per second when the game window is active.
195195+ /// </summary>
196196+ /// <remarks>
197197+ /// A value of 0 is treated the same as "unlimited" or <see cref="double.MaxValue"/>.
198198+ /// </remarks>
193199 public double MaximumUpdateHz
194200 {
195201 get => maximumUpdateHz;
···198204199205 private double maximumDrawHz;
200206207207+ /// <summary>
208208+ /// The target number of draw frames per second when the game window is active.
209209+ /// </summary>
210210+ /// <remarks>
211211+ /// A value of 0 is treated the same as "unlimited" or <see cref="double.MaxValue"/>.
212212+ /// </remarks>
201213 public double MaximumDrawHz
202214 {
203215 get => maximumDrawHz;
204216 set => DrawThread.ActiveHz = maximumDrawHz = value;
205217 }
206218219219+ /// <summary>
220220+ /// The target number of updates per second when the game window is inactive.
221221+ /// This is applied to all threads.
222222+ /// </summary>
223223+ /// <remarks>
224224+ /// A value of 0 is treated the same as "unlimited" or <see cref="double.MaxValue"/>.
225225+ /// </remarks>
207226 public double MaximumInactiveHz
208227 {
209228 get => DrawThread.InactiveHz;
···9797 private CultureInfo culture;
98989999 /// <summary>
100100- /// The refresh rate this thread should run at when active. Only applies when the underlying clock is throttling.
100100+ /// The target number of updates per second when the game window is active.
101101 /// </summary>
102102+ /// <remarks>
103103+ /// A value of 0 is treated the same as "unlimited" or <see cref="double.MaxValue"/>.
104104+ /// </remarks>
102105 public double ActiveHz
103106 {
104107 get => activeHz;
···112115 private double activeHz = DEFAULT_ACTIVE_HZ;
113116114117 /// <summary>
115115- /// The refresh rate this thread should run at when inactive. Only applies when the underlying clock is throttling.
118118+ /// The target number of updates per second when the game window is inactive.
116119 /// </summary>
120120+ /// <remarks>
121121+ /// A value of 0 is treated the same as "unlimited" or <see cref="double.MaxValue"/>.
122122+ /// </remarks>
117123 public double InactiveHz
118124 {
119125 get => inactiveHz;
+6-3
osu.Framework/Timing/ThrottledFrameClock.cs
···1515 public class ThrottledFrameClock : FramedClock
1616 {
1717 /// <summary>
1818- /// The number of updated per second which is permitted.
1818+ /// The target number of updates per second. Only used when <see cref="Throttling"/> is <c>true</c>.
1919 /// </summary>
2020+ /// <remarks>
2121+ /// A value of 0 is treated the same as "unlimited" or <see cref="double.MaxValue"/>.
2222+ /// </remarks>
2023 public double MaximumUpdateHz = 1000.0;
21242225 /// <summary>
2323- /// Whether throttling should be enabled. Defaults to true.
2626+ /// Whether throttling should be enabled. Defaults to <c>true</c>.
2427 /// </summary>
2528 public bool Throttling = true;
2629···37403841 if (Throttling)
3942 {
4040- if (MaximumUpdateHz > 0)
4343+ if (MaximumUpdateHz > 0 && MaximumUpdateHz < double.MaxValue)
4144 {
4245 throttle();
4346 }