Performance Tips für den Raspberry Pi - Meine Erfahrungen nach 2 Monaten

  • Ich bastle schon seit einiger Zeit mit den Pi's und habe auch für ein
    paar Geldklamme- und technisch unaffine Menschen einen HTPC zusammen
    gestellt. Hier meine Erfahrungen zum Thema "Performance":

    Vorab:
    Was man auf jeden Fall mitbringen muss: Zeit! Out of the Box läuft OpenElec zwar anständig,
    aber nicht eben schnell. Es sind aber noch zahlreiche Reserven vorhanden.

    Die Maßnahmen, welche den meisten Geschwindigkeitszuwachs gebracht haben:

    1. Lokales Scrapen. Zwar mühselig, aber dafür macht man es nur ein
    einziges Mal. Man wird am Anfang fast zwangsläufig mehrmals OpenElec
    installieren. Entweder verschiedene Builds, oder man zerschießt sich das
    System durch SD-Karten-Korruption oder zig andere Sachen. Da ist es ein
    enormer Vorteil, wenn man die Filminformationen schon lokal mit Ember
    oder MediaElch erstellt hat. Zumal das eigentliche Einlesen in die
    Datenbank immer noch recht zäh ist (Etwa ein Film alle 5 Sekunden).


    2. Finger weg von den RBEJ Custom Builds. Sie versprechen zwar
    zahlreiche Tweaks und Geschwindigkeitssteigerungen, sind aber eigentlich
    eine Black-Box. Ich will diese Builds nicht schlechtreden - es sind wirklich gute
    Sachen drin, aber: Immer klappt irgendwas anderes nicht, und
    man sucht sich 'nen Wolf. Mal geht der WLAN-Stick, in der nächsten Version
    wieder nicht. Mal kann man die Region nicht einstellen, dann geht NTP nicht etc.
    Besser die offiziellen Builds oder die Nightlies, z.B. von Pi-Chimney.
    Das letzte Testing-Build ist hervorragend, endlich klappt Fast-Forward/Backward,
    das Starten der Filme geht zackiger vonstatten, generell wirklich gute Performance.
    Der Link hierzu: http://sources.openelec.tv/tmp/image/test…1522-r15163.tar
    Dort sind zahlreiche Änderungen eingeflossen, die auch in die offizielle kommende OpenElec 3.2 einfließen sollen.


    3. Installation des Systems auf einen USB-Stick. Ich hatte zahlreiche
    wirklich schnelle Class 10 SD-Karten getestet, aber selbst ohne
    Overclocking ist das System nach einem Reboot oft nicht wieder hoch
    gefahren, zumal Shutdown und Reboot immer noch etwas unzuverlässig sind.
    Man ist quasi gezungen, öfter mal im laufenden Betrieb den Stecker zu ziehen.
    Mit Overclocking kann man sich (evtl. auch Board-abhängig)
    schon fast auf eine zerschossene SD-Karte verlassen. Also eine kleine,
    olle SD-Karte nur zum Booten, und das System selbst auf einem schnellen
    USB Stick.
    Dazu bei Windows-Systemen auf der SD-Karte in der FAT32 Partition 'cmdline.txt' editieren,
    und "disk=/dev/mmcblk0p2" und zu "disk=/dev/sda1" oder sda2 ändern,
    je nachdem, ob man noch andere USB Massenspeicher angeschlossen hat.
    Ich will mal behaupten, diese Maßnahme hat den größten Geschwindigkeitsschub gebracht.
    In der Theorie sind schnelle Class-10 SD Karten zwar genau so schnell wie gute USB-Sticks,
    aber in der Praxis es fühlt sich dennoch wesentlich rasanter an, und
    zerschossene SD-Karten sollten der Vergangenheit angehören.
    Wirklich Leute, es lohnt sich! Spätestens nach der dritten Neuinstallation
    hat man auf das SD-Gemurkse nämlich keine Lust mehr.
    Siehe auch:
    http://wiki.openelec.tv/index.php?titl…ur_Raspberry_Pi


    4. Es gibt ein Script namens "Texture Cache Maintenance Utility",
    welches Artwork im vorraus in den Cache lädt. Macht man nur ein einziges
    Mal wenn die Datenbank befüllt ist, und die Geschwindigkeit später ist wirklich verblüffend!
    Poster & Fanart werden ohne Verzögerung angezeigt. Nähere Informationen
    unter: http://forum.xbmc.org/showthread.php?tid=158373&page=19


    5. Sparsamer Skin! Es gibt nur wenige Skins, die den Pi nicht merklich
    ausbremsen. Entweder den Standard Confluence, oder einen der Mods. Mir
    persönlich gefällt "Quartz" sehr gut - wenn man ästhetischen
    Minimalismus mag ; ) Tabu sind opulente Skins wie "Aeon Nox" und "Ace".
    Generell ist es auch eine gute Idee, auf das Einblenden von Logos und CD-Art zu verzichten.


    6. Overclocking - Nur anwenden, wenn das System auf einem USB Stick
    liegt. Aber dann kann man noch wirklich so einiges herauskitzeln.
    Ein hochwertiges Netzteil (1500mA oder mehr) ist dabei natürlich Pflicht!
    Ebenso wie ein Backup. Overclocking empfiehlt sich als allerletzte Maßnahme,
    wenn alles andere wirklich stabil läuft. Dann ein Backup vom USB Stick,
    und sich dann hochtasten. Ob Kühlkörper auf dem Pi was bringen,
    stelle ich einfach mal zur Diskussion.


    7. Unter "Optionen / Video" 'Metainformationen aus Mediendateien extrahieren' deaktivieren.


    8. Unbedingt den RSS Newsticker im Homescreen deaktivieren. Kostet sehr viel Rechenleistung. (Stichwort: Dirty Regions)
    Generell: Je mehr sich bewegt, desto mehr Rechenleistung geht für die Animation drauf.


    Mit Hilfe der o.g. Maßnahmen konnte ich einen HTPC einrichten, der sich
    bei der normalen Benutzung kaum langsamer anfühlt, als mein eigener HTPC
    auf AMD Basis. Eine Test-Datenbank mit 250 Filmen wird z.B. in 2 Sekunden geöffnet,
    und das schnelle Durchscrollen der Liste inkl. Poster & Fanart geht ohne Verzögerung!
    Ich war ziemlich begeistert - hat aber auch 2 Monate intensive Beschäftigung gekostet ; )

    Aber wie gesagt, man sollte sich auf etliche Neu-Installationen
    einrichten, bis man ein Gefühl für den Pi bekommen hat. Und wenn man
    dann ein stabiles System hat, unbedingt ein Backup vom USB Stick machen,
    z.B. mit 'USB Image Tool'. Damit kann man auch wunderbar die
    offiziellen Builds installieren, die man fertiges Image z.B. bei
    Pi-Chimney bekommt (http://openelec.thestateofme.com/)

    5 Mal editiert, zuletzt von Loom (25. Juli 2013 um 21:53)

  • Schüne Zusammnenfassung ! Danke, waren auch für mich ein Paar neue Sachen dabei.

    Zum Thema Kühlkörper kann ich auf jeden Fall sagen das Sie zum Teil 20 Grad weniger bringen, ob der Pi ohne sonst abstürzen würde habe ich nicht getestet. Aber allein der Langlebigkeit zulibe würde ich diese 5€ mehr ausgeben ;)

  • Viele Kühlkörper werden mit Klebefolie auf den Chips befestigt - das sollte man beachten, wenn man den Pi am Fernseher hängend betreibt.

    Wenn sich dann ein Kühlkörper löst, gibt's einen Kurzschluss auf dem Board.

  • Bedankomat ist aktiviert, wenn ihr denn unbedingt wollt ; )

    Und nur mal als Vergleich: Die gleiche Testdatenbank mit 250 Filmen ohne o.g. Tips brauchte ca. 6-10 Sekunden, um die Filmliste anzuzeigen. Und wie schon geschrieben, nach Anwendung Derselbigen nur noch ca. 2 Sekunden. Ich wollte es selbst kaum glauben, dass dieses günstige kleine Platinchen so viel Potential hat ...

    Das verlinkte Test-Build mochte vielleicht hat einen Teil dazu beigetragen haben. Ist wirklich ziemlich genial ...

  • Hallo,

    Ich teile deine Erfahrungen nur teilweise!

    Zu deinen Punkten

    1. Lokales Scrapen

    Ganz am Anfang habe ich auch 3-4 mal gescrapt, abeere nur weil ich mich bnicht auskannte!
    Man
    braucht doch nur die myvideos75.db und Bilder kopieren damit ist das
    alles erledigt oder einfach gleich den Userdata Ordner, somit hat man
    ein schönes Backupund kann es immer wieder einspielen.

    2. Finger weg von den RBEJ Custom Builds

    Findeich nicht so, in den rbej Builds sind immer die neuersten Sachen drin
    und laufen meistens gut. Natürlich kommt es mal vor das was dann nicht
    läuft, aber das ganze ist sowieso noch alles im Alpha/Beta Status egal
    welches Build.

    Um das ganze genauer zu erklären:

    sraue, ist der Hauotentwickler von den Openelec
    popcornmix, kommt von Broadcom und tweak gerne bei den openelc sachen herum
    rbej, baut sich sein eigenes openelec und verwendet meistens gleich popcornmix sachen und holt sich auf von woanders tweaks da aber keiner weis von woher und hat auch kein branch im github

    Z.b. mir gefällt das schnelle Film starten von rbej 1-2 sekunden das bringt sraue derzeit nicht zusammen.

    3. 6. Installation des Systems auf einen USB-Stick und Overclocking

    Ich habe es mit einen USB-Stick von einen performance Schub fehlt jede Spur es war sogar langsamer,
    allein der start 39sec SD-Karter zu 49sec USB-Stick. Ich habe ein schnelle Class SD-Karte somit macht es den USB-Stick fast sinnlos.
    Es kann schon sein beim vollen Overclocking, das es die sd-karte nicht zerschisst.
    Ich hatte aber noch keinen einzigen Overclocking System crash, verwendung das setting "medium" passiert mit entsprechender Netzteil nix. Ich kann somit deine dauerten crashes nicht nachvollziehen.

    7. Unter "Optionen / Video" 'Metainformationen aus Mediendateien extrahieren' deaktivieren.

    Warum?

    --------------
    Das sind mal meine Erfahrungen dazu!

  • Hallo,

    Ich teile deine Erfahrungen nur teilweise!

    Zu deinen Punkten

    1. Lokales Scrapen

    Ganz am Anfang habe ich auch 3-4 mal gescrapt, abeere nur weil ich mich bnicht auskannte!
    Man
    braucht doch nur die myvideos75.db und Bilder kopieren damit ist das
    alles erledigt oder einfach gleich den Userdata Ordner, somit hat man
    ein schönes Backupund kann es immer wieder einspielen.

    2. Finger weg von den RBEJ Custom Builds

    Findeich nicht so, in den rbej Builds sind immer die neuersten Sachen drin
    und laufen meistens gut. Natürlich kommt es mal vor das was dann nicht
    läuft, aber das ganze ist sowieso noch alles im Alpha/Beta Status egal
    welches Build.

    Um das ganze genauer zu erklären:

    sraue, ist der Hauotentwickler von den Openelec
    popcornmix, kommt von Broadcom und tweak gerne bei den openelc sachen herum
    rbej, baut sich sein eigenes openelec und verwendet meistens gleich popcornmix sachen und holt sich auf von woanders tweaks da aber keiner weis von woher und hat auch kein branch im github

    Z.b. mir gefällt das schnelle Film starten von rbej 1-2 sekunden das bringt sraue derzeit nicht zusammen.

    3. 6. Installation des Systems auf einen USB-Stick und Overclocking

    Ich habe es mit einen USB-Stick von einen performance Schub fehlt jede Spur es war sogar langsamer,
    allein der start 39sec SD-Karter zu 49sec USB-Stick. Ich habe ein schnelle Class SD-Karte somit macht es den USB-Stick fast sinnlos.
    Es kann schon sein beim vollen Overclocking, das es die sd-karte nicht zerschisst.
    Ich hatte aber noch keinen einzigen Overclocking System crash, verwendung das setting "medium" passiert mit entsprechender Netzteil nix. Ich kann somit deine dauerten crashes nicht nachvollziehen.

    7. Unter "Optionen / Video" 'Metainformationen aus Mediendateien extrahieren' deaktivieren.

    Warum?

    --------------
    Das sind mal meine Erfahrungen dazu!


    Hallo Koloss,

    ich sehe, du hast dich auch bereits tiefergehend mit dem Pi beschäftigt ; )

    Zum Thema "Lokales Scraping": Natürlich, du hast Recht. Den Userdata-Ordner oder die Datenbank-Datei kann man natürlich auch einfach kopieren. Allerdings sind nachträgliche Änderungen nach nicht mehr ganz so elegant. Egal, wie man es letztlich anstellt, hauptsache der Pi braucht nicht andauernd zu scrapen. Denn DAS kostet *richtig* Zeit.

    Die RBEJ Cusom Builds: Meine Erfahrngen mit den letzten 20 Builds - egal ob Frodo oder Gotham - waren eher negativ. SO wurde z.B. mein WLAN-Stick bei ca. jedem zweiten Build nicht erkannt, obwohl es ein Build vorher tadellos funktioniert hat. Dafür klappt es hingegen in jeder Nightly. Das lässt auf einen etwas unstrukturierte Arbeitsweise seitens RBEJ's schließen. Klar, da sind wirklich geniale Sachen von Popcornmix drin, aber die sind auch in den Testing Builds a. 3.1.4 von SRAUE enthalten, und werden in die offizielle 3.2 einfließen. Daher habe ich die RBEJ's erst mal zu den Akten gelegt. Es mag sein, dass mit bestimmter Peripherie alles glatt läuft, oder mit gewissen Upgrade-Pfaden. Aber für einen Einsteiger ist das definitiv zu heikel und undurchschaubar. Und nichts ist ärgerlicher, als ein paar Stunden mit der Installation von OpenElec zu verbringen, alles schön zu scrapen nur um dann hinterher auf einen fiesen Bug zu stoßen, der die alltägliche Benutzung dann einschränkt.

    USB-Stick + Overclocking: Es mag auch Abhängig vom Board / SD-Karte / Netzteil sein, ob eine SD-Korruption eintritt oder nicht. Bei meinen Tests mit ca. 6 verschiedenen SD-Karten und 2 Pi's war das System *jedes* Mal korrumpiert, wenn im laufenden Betrieb der Stecker gezogen wurde. Und ein paar Male auch nach einem Shutdown mit anschließendem Neustart. Mit einem USB Stick habe ich bislang keinerlei solcher Probleme gehabt. Und in meinem Fall war die Bootgeschwindigkeit zwar geringfügig langsamer, dafür aber die Schwuppdizität im eigentlichen Betrieb wesentlich höher. Aber es spricht natürlich nichts gegen einen Betrieb ausschließlich mit SD-Karte, wenn der Speed und die Stabilität beim eigenen System in Ordnung sind.

  • Hallo zusammen,

    ich bin noch relativ unbedarft mit dem Thema XBMC und Rapsberry PI.

    Wenn ich den Raspberry neustarten muss (Netzstecker ziehen und wieder einstecken) kommt es vor, dass der Bildschirm schwarz bleibt. Es wird mir aber unten rechts die Info für "CEC" angezeigt. Dann muss ich entweder "ESC" (Tastatur) oder die "Home" (iPhone, iPad) Taste drücken, damit der Home-Bildschirm erscheint.

    Nun die Frage, ist dies normal oder ist dies gemeint mit SD-Korruption? Zur Info, ich nutze das Skin von MadMax und keinen USB Stick, nur SD Class 10 16GB von Transcend.

    Vielen Dank vorab für euer Feedback.

    Grüße,
    Danny

  • Ich danke für eure schnelle und kompetente Hilfe. :thumbup:

    Da ich den Raspberry eh nicht über die TV-Remote bediene und ihn nicht in Standby versetze (Starten per Remote mit OpenElec nicht möglich), werde ich CEC wohl deaktivieren. Dann sollte es doch auch gehen, oder etwa nicht?

    Mich wundert es nur, da es zu Beginn normal funktioniert hat und der Bildschirm nicht schwarz blieb.

    Grüße

  • Eine ausführliche Anleitung gibt es hier: https://github.com/MilhouseVH/tex…aster/README.md

    In Kurzform:

    1. In XBMC den Webserver auf Port 8080 aktivieren. Username und Passwort leer lassen.

    2. SSH Verbindung zum Pi aufbauen, unter Windows z.B. mit Putty

    3. In der SSH Konsole das Python-Skript herunterladen:

    Code
    curl https://raw.github.com/MilhouseVH/texturecache.py/master/texturecache.py -o texturecache.py



    und dann ausführbar machen:

    Code
    chmod +x ./texturecache.py

    4. Den Cache-Vorgang starten mit:

    Code
    ./texturecache.py c

    Dann erst mal einen Kaffee trinken und warten, bis der Vorgang beendet ist.

  • Ich bin zwar des Englischen mächtig, verstehe denn Sinn von dem Script allerdings nicht. Wozu braucht man das denn, und wieso sagst du, man muss es nur 1x ausführen? Ich lese das so heraus, dass man es immer wieder mal ausführen soll/kann, wenn Frodo zickt. Muss man das auf jedem Client machen, wenn man eine MySQL DB nutzt? Es hieß doch Anfangs, das neue Frodo System sei so toll....

  • Ich habe die letzten Tage aufwändig mein System auf eine 16GB Class10 SD Karte aufgesetzt mit ca. 2 Tagen DB über NAS einlesen..

    Würde diese Vorgänge ungern nochmal auf dem USB Stick wiederholen..
    Gibt es eine "einfache" Möglichkeit das bestehende System auf den USB Stick auszulagern?! :huh:

    Finde dazu leider nichts im Netz

    Danke schonmal für deine Hilfe!

  • Meinen Pi habe ich ins Regal geworden!

    1. Es gelint einfach nicht, beim starten mein NAS automatisch zu mounten. Die Filme bleiben unerkannt.

    2. Eine 32GB SD-Card gekauft. System (XBIAN läuft flüssig) braucht keine 2GB.
    Aber versucht mal den restlichen Speicherplatz auf der SD zu nutzen!
    Hofnungslos! Da kann man nicht einfach mal so per WINDOWS Filme oder Musik installieren..

  • ...
    2. Eine 32GB SD-Card gekauft. System (XBIAN läuft flüssig) braucht keine 2GB.
    Aber versucht mal den restlichen Speicherplatz auf der SD zu nutzen!
    Hofnungslos! Da kann man nicht einfach mal so per WINDOWS Filme oder Musik installieren..

    Sorry, aber da liegt das Problem eindeutig vor dem Bildschrim :whistling:

    with great power comes great electricity bill!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!