Ich habe das mal in folgendes geändert:
uint8_t readPixelColorRed(uint8_t pixel){ // Liefert den gesetzten roten Farbwert als 8bit
uint32_t pixelColor = strip.getPixelColor(pixel); // Liest den 32bit Farbwert wwwwwwwwrrrrrrrrggggggggbbbbbbbb
pixelColor = pixelColor >> 16; // Schiebt den roten Farbwert auf die letzten 8 Bits
uint8_t returnValue = pixelColor; // Übergibt den Wert an eine 8Bit Variable, Rest verfällt
return returnValue; // Übergibt den Wert
}
uint8_t readPixelColorGreen(uint8_t pixel){ // Liefert den gesetzten roten Farbwert als 8bit
uint32_t pixelColor = strip.getPixelColor(pixel); // Liest den 32bit Farbwert wwwwwwwwrrrrrrrrggggggggbbbbbbbb
pixelColor = pixelColor >> 8; // Schiebt den grünen Farbwert auf die letzten 8 Bits
uint8_t returnValue = pixelColor; // Übergibt den Wert an eine 8Bit Variable, Rest verfällt
return returnValue; // Übergibt den Wert
}
uint8_t readPixelColorBlue(uint8_t pixel){ // Liefert den gesetzten roten Farbwert als 8bit
uint32_t pixelColor = strip.getPixelColor(pixel); // Liest den 32bit Farbwert wwwwwwwwrrrrrrrrggggggggbbbbbbbb
uint8_t returnValue = pixelColor; // Übergibt den Wert an eine 8Bit Variable, Rest verfällt
return returnValue; // Übergibt den Wert
}
Dadurch entsteht keine sichtbare Verlangsamung mehr, wenn die Funktionen von mehreren Stellen im Code aufgerufen werden. (Auch weniger Speicher wird verbraucht).
Warum genau es ausgebremst hat, werde ich wohl nie herrausfinden.