Jump to content

OSD Performance verbesseren


jErk`

Recommended Posts

Posted

Hi,

 

ich spiele gerade ein bisschen mit Atoms/ION herum, Revo und AsRock ION + Cyberlink. Damit lässt sich eigentlich erstaunlich gut leben, selbst der Non-HT Single Core des Revo schafft Live-TV + ffdshow Postprocessor ja recht gut. (jaja, VC-1 interlaced, anderes Thema, egal)

 

Nur das DVBViewer OSD zwickt etwas. Das scheint unheimlich viel CPU-Leistung zu verbrauchen. Gerade die Senderliste mit EPG, die Timeline und Videos / Bilder und co. Ich hatte die Hoffnung dass der (zwar sehr laute, aber immerhin verfügbare) neue AsRock hier besser skaliert, das ist immerhin ein DualCore mit HT. Ist aber leider nicht so. Das OSD lagged und der DVBViewer rödelt bei 50% (100% auf Core0). Mir ist auch durchaus klar warum das so ist, ich würde zum Beispiel nicht annehmen, dass man das Postprocessing in einen anderen Thread legen kann. Aber man müsste doch trotzdem was machen können.

 

Meine Lösungsansätze:

1) Threading

Spontan fällt mir z.B. das EPG ein. Das liesse sich doch in der Tat auslagern. Sowohl der Datenhalter, als auch das Query darauf sollte doch threadsicher sein (...natürlich kenne ich aber den Code auch nicht). Das hilft zwar nichts bei SingleCores, aber allen anderen schon.

 

2) Arbeitsspeicher

Wenn man sagt, dass heute 2GB Kingston Arbeitsspeicher 25,99€ kosten und somit deutlich billiger und auch leichter upgradebar sind als ein CPU würde ich eine kleine Cache Klasse vorschlagen. Wenn man es denn aktiviert preloaded und precompiled der DVBViewer die OSD-XML, Logos, Icons. Dann startet er halt 20 Sekunden langsamer, wenn das stört, der es kann ja ausmachen, dann wird eben weiter ondemand geladen.

 

3) Graph

Multimedia ist nicht mein Genre, aber mir fällt auf, dass Postprocessor und Videobild immer da sind. Entweder als Mini-Videowindow, oder eben als Hintergrund. Wahrscheinlich wird man da nix machen können, oder? Irgendwas mit dem PP zaubern solange das OSD an ist? Wird nicht gehen, aber ich wollte es nur mal zur Diskussion stellen.

 

4) CUDA

Zuletzt noch CUDA-Support des OSD. Ein OSD mit Transparenz klingt doch prädestiniert dafür.

 

 

Danke für die Aufmerksamkeit (:

Posted (edited)

Im DVBViewer gibt es 2 Arten von OSD's...

 

Vollbild-OSD's: diese werden von der CPU gerendert und sind langsam

 

"OSD Dialoge", die das Video überlagern: über VMR gerendert

 

 

Es gab einmal den Ansatz, das OSD über D3D zu rendern, ist aber recht aufwändig und in die Richtung wird momentan glaub auch nicht mehr viel gemacht. Dazu braucht man kein GPU spezifisches CUDA.

Edited by CiNcH
Posted
ich spiele gerade ein bisschen mit Atoms/ION herum, Revo und AsRock ION + Cyberlink. Damit lässt sich eigentlich erstaunlich gut leben, selbst der Non-HT Single Core des Revo schafft Live-TV + ffdshow Postprocessor ja recht gut. (jaja, VC-1 interlaced, anderes Thema, egal)

 

Nur das DVBViewer OSD zwickt etwas. Das scheint unheimlich viel CPU-Leistung zu verbrauchen. Gerade die Senderliste mit EPG, die Timeline und Videos / Bilder und co. Ich hatte die Hoffnung dass der (zwar sehr laute, aber immerhin verfügbare) neue AsRock hier besser skaliert, das ist immerhin ein DualCore mit HT. Ist aber leider nicht so. Das OSD lagged und der DVBViewer rödelt bei 50% (100% auf Core0). Mir ist auch durchaus klar warum das so ist, ich würde zum Beispiel nicht annehmen, dass man das Postprocessing in einen anderen Thread legen kann. Aber man müsste doch trotzdem was machen können.

geht mir genauso wie dir ;)

dazu kommt noch die schlechte osd qualität in verbindung mit dem evr.

 

vorschlag 5:

optional ein abgespecktes, schlichtes osd wie im ge (das läuft irgendwie immer super B) ) mit nur den wichtigsten sachen für livetv (epg, timer, aufnahmen, dateiwiedergabe oder sowas).

Posted
Im DVBViewer gibt es 2 Arten von OSD's...

Vollbild-OSD's: diese werden von der CPU gerendert und sind langsam

"OSD Dialoge", die das Video überlagern: über VMR gerendert

 

Definiert via AllowOveray?

 

 

Es gab einmal den Ansatz, das OSD über D3D zu rendern, ist aber recht aufwändig und in die Richtung wird momentan glaub auch nicht mehr viel gemacht. Dazu braucht man kein GPU spezifisches CUDA.

Its done when its done (:

Naja, soo spezifisch ist CUDA ja nicht, nvidia halt (: ... Aber als Streamprozessor find ich es ne nette Idee, ATI hat doch so nen ähnlichen Kram. Sollte *deutlich simpler als D3D zu realisieren sein. Wie es als OSD skaliert weiß ich aber auch nicht, muss mir mal den Seti Client auf den Revo ziehen. Ich will das ja auch nicht fordern oder so, ich fände es eher ein nettes Add-On. Die kleinen Atoms sind ja gerade im kommen, gerade als Mediaserver.

  • 2 weeks later...
Posted (edited)

Ich betreibe DVBV auf einem pre ION board. Soll heissen auf dem IBM referenzboard mit Intel Grafik. Allerdings mit einem 330er Atom. Der bring aber nicht viel im Vergleich zu dem was der ION mitbringt.

 

Also ich habe keine wirklich erkennbaren Performance Einbrueche. Die Bedienfelder unter Windows laggen wenn DVBV als Vollbild laeuft, aber die nutze ich am HTPC nie. Das OSD (Fernbedienung) ist sehr flott. Sind manche skins flotter als andere ? ;)

Edited by mague
Posted
Sind manche skins flotter als andere ?

Ja, hochauflösende OSD's sind natürlich sehr viel zeitaufwändiger zu rendern...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...