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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.