diff --git a/RGB.NET.Core/Devices/AbstractRGBDevice.cs b/RGB.NET.Core/Devices/AbstractRGBDevice.cs
index ba6b84d..abed2da 100644
--- a/RGB.NET.Core/Devices/AbstractRGBDevice.cs
+++ b/RGB.NET.Core/Devices/AbstractRGBDevice.cs
@@ -1,5 +1,6 @@
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable UnusedMember.Global
+// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
using System;
using System.Collections;
@@ -42,6 +43,11 @@ namespace RGB.NET.Core
set => SetProperty(ref _location, value);
}
+ ///
+ /// Gets or sets if the device needs to be flushed on every update.
+ ///
+ protected bool RequiresFlush { get; set; } = false;
+
///
public DeviceUpdateMode UpdateMode { get; set; } = DeviceUpdateMode.Sync;
@@ -74,13 +80,13 @@ namespace RGB.NET.Core
#region Methods
///
- public virtual void Update(bool render = true, bool flushLeds = false)
+ public virtual void Update(bool flushLeds = false)
{
// Device-specific updates
DeviceUpdate();
// Send LEDs to SDK
- IEnumerable ledsToUpdate = (flushLeds ? LedMapping.Values : LedMapping.Values.Where(x => x.IsDirty)).ToList();
+ IEnumerable ledsToUpdate = ((RequiresFlush || flushLeds) ? LedMapping.Values : LedMapping.Values.Where(x => x.IsDirty)).ToList();
foreach (Led ledToUpdate in ledsToUpdate)
ledToUpdate.Update();
diff --git a/RGB.NET.Core/Devices/IRGBDevice.cs b/RGB.NET.Core/Devices/IRGBDevice.cs
index 1576cc6..9ba17c4 100644
--- a/RGB.NET.Core/Devices/IRGBDevice.cs
+++ b/RGB.NET.Core/Devices/IRGBDevice.cs
@@ -65,11 +65,9 @@ namespace RGB.NET.Core
///
/// Perform an update for all dirty , or all if flushLeds is set to true.
- /// Only physically syncs the colors to the device if is set to true.
///
- /// Specifies whether the colors should be synced to the device or not.
/// Specifies whether all (including clean ones) should be updated.
- void Update(bool sync = true, bool flushLeds = false);
+ void Update(bool flushLeds = false);
///
/// Synchronizes the internal state of the device to the real (physical) state.