Optimization: stop to constantly search for the bus
Adding a caching mechanism to the Bus Manager - up to 30% faster especially when many led pins are used.
This commit is contained in:
@@ -427,8 +427,12 @@ class BusManager {
|
||||
|
||||
private:
|
||||
uint8_t numBusses = 0;
|
||||
Bus* busses[WLED_MAX_BUSSES+WLED_MIN_VIRTUAL_BUSSES];
|
||||
Bus* busses[WLED_MAX_BUSSES+WLED_MIN_VIRTUAL_BUSSES] = {nullptr}; // WLEDMM init array
|
||||
ColorOrderMap colorOrderMap;
|
||||
// WLEDMM cache last used Bus -> 20% to 30% speedup when using many LED pins
|
||||
Bus *lastBus = nullptr;
|
||||
unsigned laststart = 0;
|
||||
unsigned lastend = 0;
|
||||
|
||||
inline uint8_t getNumVirtualBusses() {
|
||||
int j = 0;
|
||||
|
||||
Reference in New Issue
Block a user