renderbug/lib/Figments/Renderer.cpp

33 lines
745 B
C++

#include "./Renderer.h"
#include "./Display.h"
#include <ArduinoLog.h>
void
Renderer::loop()
{
for(Display* dpy : m_displays) {
for(Figment* figment : m_figments) {
if (figment->state == Task::Running) {
unsigned int frameStart = ESP.getCycleCount();
figment->render(dpy);
unsigned int runtime = (ESP.getCycleCount() - frameStart) / 160000;
if (runtime >= 8) {
Log.notice("SLOW RENDER: %s took %dms!", figment->name, runtime);
}
}
};
}
FastLED.show();
FastLED.countFPS();
}
void
Renderer::onStart()
{
for(Display* dpy : m_displays) {
dpy->clear();
}
FastLED.show();
}