Schnell Pixel setzen mit Python

OP #4593653
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.