Hallo, allerseits.
Ich habe das sonderbare Phänomen, dass vdr-sxfe beim Wiedergeben eines DVB-S-Streams aus vdr immer wieder kurz stockt (unter einer Sekunde). Das Verrückte ist, dass der Rechner nur faul herumlungert. Das System ist
Athlon 3200+ mit PowerNow (cpu ist praktisch immer auf 1000MHz).
2GB DDR-Ram (leider nur mit 266 auf 7-3-3-2)
Nvidia Geforce 4 MX 4000
2 IDE-Festplatten mit raid1 (system) und raid0 (video-aufnahmen) im UDMA5-mode
vdr-sxfe läuft mit -V xxmc -A spdif.
Die Systemauslastung ist bei 1000MHz (halbe CPU-Geschwindigkeit) nur zwischen 1% und 5% (mindestens 95% idle!)
Ganz offensichtlich läuft die ganze mpeg-Arbeit nur über die Nvidia-Hardware-Beschleunigung. Trotz der 95%-idle stockt die Videoausgabe öfter.
Ich habe schon im Kernel alle drei Varianten des preemption model probiert "no forced preemption(server)" scheint am wenigsten Ruckler zu produzieren, bei "voluntary (desktop)" und "preemptible (low-latency desktop)" habe ich den Eindruck von häufigeren Rucklern. Ich habe auch die verschiedenen timer frequencies 100, 250 und 1000 ausprobiert, hier scheint die beste Einstellung 100 zu sein, bei 1000 sind auch wieder mehr Ruckler.
Ich habe auch im xorg.conf die Nvidia-Option "UseEvents" mit true und false probiert. Das macht keinen wirklichen Unterschied (weder bei der CPU-Auslastung noch beim Ruckeln).
Bei allen Varianten (ja, ich habe wirklich alle möglichen Kombinationen aus preemption model, timer, UseEvents und auch den io-schedulers anticipatory, deadline und cfq ausprobiert).
Ruckler treten auch auf, wenn ich VDR-Aufnahmen abspiele, da scheint der cfq-scheduler das beste Resultat zu liefern, aber bei einem raid0-Array mit DMA (hdparm -t liefert 90MB/sec, das KANN doch gar nicht ruckeln!).
Auch PowerNow habe ich mal ausgestellt (CPU läuft durchgehend auf 2000MHz), um auszuschließen, dass das Frequenz-Schalten das Problem sein könnte, aber auch bei voller CPU-Geschwindigkeit ruckelt es.
Insgesamt ist die Performance ja begeisternd, der vdr-sxfe läuft immer nur bei 1-3%, die Nvidia-Karte übernimmt also die ganze Video-Arbeit. Aber ich hätte ja gar nichts dagegen, dass die CPU mehr macht, wenn es dann nicht mehr ruckelt!
Wenn ich im Firefox eine Seite lade, hält die Video-Darstellung von vdr-sxfe ebenfalls kurz an. Ich dachte ja, dass das bei kernel timer 1000Hz und low-latency desktop preemption nicht passieren dürfte. Erstaunlicherweise ist das Stocken bei kernel timer 100Hz und "no preemption" kürzer.
Hat jemand eine Idee, wo man noch drehen kann, um diese kurzen Aussetzer in Griff zu kriegen?
dideldum
P.S.: ganz vergessen, das System ist gentoo mit kernel 2.6.18-r6, deshalb der thread hier unter gentoo...