Hi,
ich habe bei mir ein Problem mit gelegentlichem Buffering.
Dazu erstmal meine Konfiguration.
Die Filme liegen auf eine HP Microserver (Anbindung mit rund 100MB/s) mit NAS4FREE.
Meine Raspberrys sind per WLAN am Netz (EDIMX und TP-Link 150mbps Sticks.)
Zuerst hatte ich nur Samba und NFS über das Menü hinzugefügt. Hier ging es schon mal schlecht.
Maximal 1,5MB/s. Und das bei 81Mbps WLAN Link zur Fritzbox 3270.
Meine Teillösung ist ein NFS Mount direkt über /etc/fstab.
# mit 32K
192.168.123.456:/raid/freigabe /mnt/nfs/ nfs _netdev,rsize=32768,wsize=32768,intr,noatime,nfsvers=3,async 0 0
# oder
# mit 64K
192.168.123.456:/raid/freigabe /mnt/nfs/ nfs _netdev,rsize=65536,wsize=65536,intr,noatime,nfsvers=3,async 0 0
Nach meinem Test ist die 64K version etwas schneller.
Den Test habe ich mit dd gemacht.
time dd if=/dev/zero of=/mnt/nfs/testfile bs=16k count=16384
time dd if=/mnt/nfs/testfile of=/dev/null bs=16k
Damit kann ich jetzt auf rund 3MB/s. Damit laufen sogar alte BluRayRipps (1080p) mit fast 30GB größe.
Allerdings kommt es bei einigen Files trotzdem noch zum Buffering.
Ich habe auch die cachemembuffersize erhöht. Sogar auf 200MB (Standard 5MB)
<network>
<cachemembuffersize>5242880</cachemembuffersize> <!-- number of bytes used for buffering streams ahead in memory
XBMC will not buffer ahead more than this. WARNING: for the bytes set here, XBMC will consume 3x the amount of RAM
When set to 0 the cache will be written to disk instead of RAM, as of v12 Frodo -->
</network>
http://wiki.xbmc.org/?title=advancedsettings.xml
Jetzt scheint dies aber kein wirkliches vorpuffern zur Folge zu haben.
Denn man kann sehen, das trotzdem noch RAM frei bleibt.
Und wenn ein Film Schwarzblenden hat, z.B. Cars am Anfang, bricht die Übertragung kurz ein, da die aktuellen Bilder kaum Daten benötigen.
Das kann man sehr schön an den Übertragungsraten verfolgen und nachstellen.
Würde er einfach Puffern, bis der angegebene Buffer voll ist, müsste er konstant Daten ziehen.
Jetzt 3 Fragen. Evtl. kann da ja jemand was zu sagen.
1. Die 81Mbps im WLAN sind das Maximum bei mir. Hat schon mal jemand einen Link mit 150Mbps hin bekommen?
2. Wird der cachemembuffer im CPU oder GPU RAM gechached?
3. Kann man das vorpuffern irgendwie anders einstellen?