Folgendes Problem tritt bei Skin flatPlus und Laufschrift (Auf bestimmter Hard-/Software) auf: Der VDR reagiert während der Laufschrift nicht mehr auf Fernbedienung (LIRC).
Ich kann das bei mir (PC) nicht nachstellen. Es betrifft wohl Odroid-N2. Originalbeitrag: RE: [skin flatPlus] Version 1.1.3
Bei Laufschrift geht die CPU-Last auf weit über 100%. Bei mir am PC oder in der Virtualbox eher so 5-7%
Ich habe schon versucht die 'Performance' zu verbessern, indem ich einige Pixmap Checks weg lasse. Der Problematische Code müsste in textsroller.c bei cTextScrollers::Action() sein:
void cTextScrollers::Action() {
#ifdef DEBUGFUNCSCALL
dsyslog("flatPlus: cTextScrollers::Action()");
#endif
// Wait 1 second so the osd is finished
for (uint i {0}; i < 10 && Running(); ++i) {
cCondWait::SleepMs(100);
}
if (!Running()) return;
std::vector<cTextScroll *>::iterator it, end = Scrollers.end();
for (it = Scrollers.begin(); it != end; ++it) {
if (!Running()) return;
cPixmap::Lock();
(*it)->Reset();
cPixmap::Unlock();
}
while (Running()) {
// if (Running()) //? Check needed here?
cCondWait::SleepMs(m_ScrollDelay);
// std::vector<cTextScroll *>::iterator it, end = Scrollers.end(); // Reuse iterator above
for (it = Scrollers.begin(); it != end; ++it) {
if (!Running()) return;
cPixmap::Lock();
(*it)->DoStep();
cPixmap::Unlock();
}
if (Running())
m_Osd->Flush();
}
}
Display More
textscroller.c: https://github.com/MegaV0lt/vdr-p…/textscroller.c
Was ich mich frage, ist zum Beispiel, ob man die Audrufe cPixmap::Lock() und cPixmap::Unlock() durch das Makro LOCK_PIXMAPS ersetzen kann und ob das überhaupt was bringen würde.
Oder liegt es eher an der Hard-/Software (Ausgabeplugin).
Vielleicht gibt es ja hier jemanden mit etwas Ahnung oder einer Idee...