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.
10 screenshots pro sekunde -> 90% cpu auslastung
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.
Ohne Komprimierung gar nicht möglich. 1024 x 768 x 4 x 10 = 30MB/s.Zandru hat geschrieben:10 fps ist aber eigentlich garnicht so übel
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.
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.
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.