Schnell Pixel setzen mit Python

OP #4593653
Lesenswert?

Hallo,
ich bin auf der Suche nach einem Python-Modul mit dem ich möglichst 
schnell stumpf Pixel in einem Fenster setzen möchte. Ich habe es schon 
mit Pygame versucht, allerdings ist das viel zu langsam. Ich bräuchte am 
besten so nach 10-50 Millisekunden ein ausgefülltes Fenster. Da sich 
allerdings die Farbe verändert kann ich nicht blos ein großes Rechteck 
zeichnen.

Kennt da jemand was besseres, schnelleres?

Grüße OleL
#4593698
Lesenswert?

Ole L. schrieb:
> Ich bräuchte am
> besten so nach 10-50 Millisekunden ein ausgefülltes Fenster.

Ich würde so aus dem Bauch raus mal sagen daß enge Schleifen (Millionen 
von Iterationen aber nur triviales zu tun in jeder einzelnen Iteration, 
nun dann das ganze noch zeitkritisch) nicht unbedingt die Domäne einer 
interpretierten Hochsprache sind.

Ich würde diesen einen Teil des Programms (also die ganze Schleife von 
oben links bis unten rechts) lieber komplett in C schreiben und DAS 
dann von Python aus einbinden/aufrufen.
Gast #4593699
Lesenswert?

Mit interpretierten Sprachen wie Python sieht das schlecht aus. Da liegt 
doch jede elementare Aktion, wie etwa eine Wertzuweisung an eine 
Variable, im Bereich von etwa einer Mikrosekunde. Bei einem Fenster mit 
10e6 Pixel wärst Du ja dann schon bei einer Sekunde. Natürlich ist das 
Setzen eines Pixels weit aufwendiger, geschieht aber bei Benutzung einer 
geeigneten Bibliothek in Maschienencode. Problem sind also die einzelnen 
Aufrufe aus Python. Wenn die Daten im vorherein bekannt sind, könntest 
Du natürlich Arrays übergeben. Aber du willst die Daten ja wohl 
irgendwie dynamisch erzeugen wollen, und da hast Du dann wieder ein 
Problem. Muss es denn Python sein? Es gibt heute ja genügend schnellere 
und auch "schöne" Sprachen. Sonst eventuell Cython oder PyPy?
Gast #4593704
Lesenswert?

Und was das Ausgeben der Pixel angeht: Du müsstest in ein Array 
schreiben und das Ganze dann erst anzeigen. Das ist normalerweise die 
schnellste Methode. In SFML z.B. über LoadFromPixels().

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren