10 screenshots pro sekunde -> 90% cpu auslastung

Alles rund um die Programmierung mit Qt
Antworten
fettoni
Beiträge: 5
Registriert: 22. Juni 2007 13:35

10 screenshots pro sekunde -> 90% cpu auslastung

Beitrag von fettoni »

hallo,

ich bin gerade abei ein kleines Programm zu schreiben mit dem ich den Bildschirminhalt eines Rechners über Netzwerk einen anderen Rechner übermitteln kann. D.h ich mache auf Rechner1 Screenshots und übermittel diese an Rechner2.

Leider hab ich das Problem das bei 10 Screenshots(1024x768) pro Sekunde die ich auf Rechner1 erstelle die CPU-Auslastung bis zu 90% hoch geht, wodurch auf diesem Rechner natürlich nichts weiteres lauffähig ist ... und das Bild das auf Rechner2 ankommt auch stark ruckelt (10 Bilder sind halt nicht wirklich optimal).

Deswegen meine Frage ob jmd. eine Idee hat woran das liegen könnte und wie man das ganze optimieren könnte.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Da fällt mir ne Menge ein woran das liegen könnte. Vor allem fallen mir ne Menge Fragen ein.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Zandru
Beiträge: 84
Registriert: 29. Mai 2007 15:35

Beitrag von Zandru »

komprimierst du die bilder irgendwie? Idealerweise übermittelt man nur Änderungen gegenüber dem letzten Screenshot.

10 fps ist aber eigentlich garnicht so übel ;)
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Zandru hat geschrieben:10 fps ist aber eigentlich garnicht so übel ;)
Ohne Komprimierung gar nicht möglich. 1024 x 768 x 4 x 10 = 30MB/s.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ich würde für einen solchen Fall wirklich was fertiges wie VNC verwenden.
fettoni
Beiträge: 5
Registriert: 22. Juni 2007 13:35

Beitrag von fettoni »

hallo nochmal,

also ich mache einen Screenshot mit grabWindow und wandle das QPixmap für die Übertragung in ein png um. Also die Übertragung der Datenmenge ist nicht das Problem, da die pngs nicht wirklich groß. Das Problem ist wirklich nur die Erstellung der Screenshots, da diese ja als QPixmap erstellt werden und diese sind ja glaub ich relativ groß sind, da diese nicht komprimiert sind.

Kennt vielleicht jmd. noch irgendeine andere Methode um ein Screenshot zu erstellen (als nen komprimiertes qpixmap zb, wenns sowas überhaupt gibt) oder das Bild irgendwie anders zu erstellen. Ich hab bisher leider noch nichts gefunden.

TightVNC u. UltraVNC hab ich auch schon mal probiert, leider haben diese Programme komischerweise alles Übertragen außerdem was sie Übertragen sollten. Klingt komisch is aber leider so. D.h. ein anders Qt-Programm haben sie nicht aktualisiert, das Bild ist immer gleich geblieben. Bei meinem Programm werden die Änderungen allerdimgs dargestellt. Wieso das so ist weiß ich aber auch nicht so genau.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ansonsten kann man ja noch das X-Protokoll verwenden. Das kann ja jedes vernünftige Window-System.
Antworten