Beiträge von maetho
-
-
Vielen Dank schonmal für eure Informationen. Das das ganze Softwaremäßig nicht optimal umgesetzt ist ist mir bewusst, dachte aber nicht dass es hier schon Probleme gibt. Ob 800x600 oder Fullscreen ändert an der ganzen Sache nichts.
Ich werd das ganze mal direkt per hdmi testen und sonst rumbasteln, irgendwas klappt bestimmt.
Mal ne andere Ansichtsweise, zur Sicherheit : Die CPU ist nicht überlastet, aber nur sehr wenige fps - Das ganze macht meiner Meinung nach wenig bis keinen Sinn trotzdem mal die Frage an die Experten: Kann es sein dass das Raspberry zu wenig Saft bekommt? (benutze momentan lediglich ein Handyladegerät direkt per Steckdose) Sollte eigentlich reichen.. Weiters wird bei den GPIO Pins noch ein wenig rausgeschickt. 3 LEDs werden angesteuert und paar passive Drucktaster... Kann doch damit eigentlich nichts zu tun haben aber lieber alles überprüfen...
-
Mit pygame kann man die FPS in form von 'clock.tick' angeben und auslesen - aber kA wie Du das programmiert hast...Ich kenne das so, dass man die einzelnen Frames selber erstellen muss und somit eine while Schleife hat, in der unter anderem die pygame.event's behandelt werden.
Beispiel:
[code=php]//...# Frames per Second. Update Screen X times in one Sec. Below 3 is laggy
FPS = 5# Enable FPS output to console? (True/False)
debugFPS = Truetry:
//...
clock = pygame.time.Clock()
#userevent on every 1000ms (1sec), used for second based events
pygame.time.set_timer(USEREVENT+1, 1000)
#userevent on every 60000ms (60sec), used for screensaver
pygame.time.set_timer(USEREVENT+2, 60000)
while running:
clock.tick(FPS)
if (time.time() - dictionary['pingtimestamp']) >= pingEvery:
_ping(client)
for event in pygame.event.get(): # User did something
#printD("event: {}".format(event))
if event.type == USEREVENT+1:
second_based_event()
if event.type == USEREVENT+2:
minutes += 1
elif event.type == pygame.QUIT:
_exit()
elif event.type == pygame.KEYDOWN:
# https://www.pygame.org/docs/ref/key.html
if event.key == K_ESCAPE:
_exit()
elif event.key == K_RIGHT:
play_next(client)
elif event.key == K_LEFT:
play_prev(client)
elif event.key == K_UP:
volume_up(client)
elif event.key == K_DOWN:
volume_down(client)
elif event.key == K_m:
volume_mute(client)#if screensaver is enabled and the screen was touched,
#just disable screensaver, reset timer and update screen
#no button state will be checked
elif event.type == pygame.MOUSEBUTTONDOWN and screensaver['state'] == True:
minutes = 0
screenSaver(False)#if screen was touched and screensaver is disabled,
#get position of touched button, call on_touch(), reset timer and update screen
elif event.type == pygame.MOUSEBUTTONDOWN and screensaver['state'] == False:
pos = (pygame.mouse.get_pos() [0], pygame.mouse.get_pos() [1])
minutes = 0
on_touch(pos)#enable screensaver on timer overflow
if screensaver['state'] == False and minutes >= screensaver_timer:
screenSaver(True)update_screen()
if debugFPS:
print("frame rate: %.2f frames per second" % clock.get_fps())
[/php]Quelle: mein TRON-Radio Script..Aber wie gesagt, ohne zu wissen wie Du das programmiert hast kann man zu deinen Fragen nur wenig sagen. Der Pi2 ist nicht zu schwach.
Auch weiß ich nicht wie du die FPS misst... Wenn die Clockrate von pygame etwas anderes anzeigt als zB FRAPS dann wird es höchst wahrscheinlich an deinem XRDP liegen.
Genau so messen wir das. Wir haben eine Tickrate von 30fps - auf jedem anderen Rechner läuft dies auch mit den definierten 30FPS, auf dem Raspberry Pi kriege ich jedoch nur 8fps zustande, sieht also so aus als wie die Anzahl der Updates (analog wieoft er alles neuzeichnet) zuviel für das Raspberry Pi ist... Es wird quasi ständig alles neu gezeichnet, was der Raspberry Pi von der Grafik her nicht packt?!
Es liegt auch definitiv nicht an XRDP, da wie gesagt die Anzeige ausschlaggebend ist und wir hier nur die genannte FPS-Zahl erhalten. Die Prozessorauslastung ist jedoch bei 20-30% - sprich die GPU packt das ganze Softwaremäßig nicht, oder?
-
Kann ich leider (noch) nicht posten - da es sich noch in Bearbeitung befindet. Ausgabe üblicherweise über HDMI - habe letztens aber nur via Remote-Desktopverbindung drauf zugegriffen. Dass es darüber etwas laggt ist mir bewusst, trotzdem sah ich die FPS-Anzeige welche relativ weit unten war. (7-8fps)
Okey, ich dachte damit könnte man evtl. ein wenig an der FPS-Zahl schrauben. Gibt es denn sonst noch Tipps/Trick oder Ideen woran das liegen kann? Denke nicht dass das Raspberry "so" schwach ist?! Das Jump and Run läuft mit Python (pygame) ...
-
Servus,
ich hadere an geringen FPS bei einem kleinen Jump & Run Spiel welches in Python programmiert wurde. (7-8fps, mit einer Clockrate von 30fps)
Die CPU-Auslastung ist bei etwa 30%, sprich an der CPU liegt es nicht - sondern wohl eher am Software-Rendering?
Kann ich der GPU irgendwie mehr RAM zuweisen, sodass ich dementsprechend mehr FPS erhalte oder gibt es noch andere mögliche Vorschläge/Tipps?Würde mich freuen!
Viele Grüße!
-
Problem gelöst - liegt wohl wirklich am Windows-Entpacker. Jessie läuft nun ohne Probleme - ebenfalls der USB/Wlan Adapter bereitete keinerlei Probleme bislang.
Großes Danke an euch!
-
Hallo,
vielen Dank Kurti. Ich werde aufjedenfall nochmal alles neu flashen. Ich vermute auch, dass der Fehler da liegt obwohl ich ebenfalls eine 8GB Karte benutze, mit Win32DiskImager-0.9.5 geflashed habe. Aber an irgendetwas muss es ja liegen, und es sieht wirklich danach aus, dass das OS nicht korrekt aufgespielt wurde. Ich melde mich dann nochmal hier, sofern ich erfolgreich war oder eben nicht.
Gruß
-
Hallo maetho,Wie schaltest Du zwischen den 4 Desktops hin und her?
Meiner Meinung nach sind das die Desktops, die auch die GUI enthalten - nur dass dort keine Elemente / Panel / Piktogramme / Anwendungsmenü etc. angezeigt werden. Dies hätte dann eine andere Ursache.
Soweit ich gelesen habe, startet Jessie voreinstellungsgemäß direkt in die GUI.
Beste Grüße
Andreas
Servus,
mit einem einfachen Rechtsklick und anschließendem auswählen eines Desktops. Das ist korrekt, sämtliche Bedienelemente fehlen, dementsprechend passt die Fehlermeldung schon, jedoch kriege ich eben die Bedienelemente etc nicht zum laufen. Kann mir schwer vorstellen dass die GUI ohne deren gestartet wird?
-
Ja habe ich auch gelesen.
Nein im raspi-config habe ich keine Zeile auskommentiert oder ergänzt, sprich hierbei handelt es sich um das originale OS auf der angegebenen Seite.
Mich wundert es eben, dass die Meldung kommt dass bereits eine GUI läuft (soweit verstehe ich die genannte Fehlermeldung). Jedoch habe ich außer der Console keine weiteren Elemente. Kann zwar zwischen den 4 Desktops hin und her switchen, jedoch sind alle 4 schwarz nur eben aufm ersten ist die Console.Ein einfaches "startx" funktioniert eben nicht. (An authentication agent already exists for the given subject. )
-
-
Servus,
habe soeben Raspbian Jessie von https://www.raspberrypi.org/downloads/raspbian/ auf mein neues Raspberry Pi 2 geflashed. Der Bootvorgang läuft einwandfrei, jedoch erhalte ich anschließend keine GUI, und auch mit startx lässt sich nichts auf den Bildschirm bringen außer die Console. (Error: org.freedesktop. Policy Kit1.Error.Failed:An authentication agent already exists for the given subject.")
-> Meiner Meinung nach funktioniert die GUI bereits, jedoch sehe ich außer der Console keine weiteren Elemente.
Würde mich über Tipps freuen.