nochmal put pixel



  • Schoen waers 😃 Der Prozessor ist Willig, die restliche Hardware jedoch meist nicht 😉
    1. Ist die Bildschirmrefreshrate net so hoch.
    2. kannst du doch nicht NUR mit dieser Proc jedesmal ein neues Bild erstellen...



  • hi,

    schade 🙂
    welche teile der hardware verlangsamen denn diesen vorgang?
    kann man die refreshrate net irgendwie umstellen?
    wie soll man sonst nem OS eine schöne Oberfläche geben? Wie ist denn das beispielsweiße bei windows? ich könnte mir vorstellen das die nicht alle 40ms den ganzen bildschirm neu "malen" sondern nur den teil der sich geändert hat, stimmt das?



  • Hab gerade bemerkt: man sollte keine Beitraege zwischen Tuer und Angel erstellen 🙄
    Also: Wenn du zum Neuzeichnen des Bildschirms 2,773312 ms brauchst, gibt das ca.50 Bilder pro Sekunde. Das laesst sich selbst mit aelteren Grafikkarten noch gut umsetzen.
    Und: ja, bei Windows werden meist nur Teile des Bildschirms neu gezeichnet.
    [Nachtrag:]
    Die meisten Grafiken in einem OS, wie zB. rechteckige Fenster/Buttons oder Bitmaps wuerde ich nicht durch eine solche "langsame" Putpixel-proc zeichnen.

    [ Dieser Beitrag wurde am 15.07.2002 um 00:36 Uhr von Nobuo T editiert. ]



  • was meinsten denn mit tür und angel? 😕
    also wenn nicht mir ner put pixel routine, wie dann? funktionen zum zeichnen eines rechteckes bestehen doch auch auf putpixel routinen oder?

    so ich guck jetzt mal schön gemütlich seven days 🙂



  • Mit der ersten aussage meinte ich, dass ich wenig Zeit hatte...

    Ein ausgefuelltes Rechteck wuerde ich zB. eher so zeichnen:
    di=Position linker oberer Ecke
    mov dx,di
    mov cx,YLaenge
    Loop1:
    push cx
    mov cx,XLaenge
    mov al,Farbe
    rep stosb
    add dx,XResolution ;Bildschirmaufloesung X
    mov di,dx
    pop cx
    loop Loop1

    Etwas schneller, gel 😉

    Mit einem Bitmap kann man dann so aehnlich umgehen...
    Eine putpixel routine, die x und y Koordinaten erstmal in einen Speicherindex umrechnet etc. ist wirklich in den seltensten Faellen sinnvoll...



  • Hi,

    das Problem ist, dass maximal 8 Millionen Pixel pro Sekunde
    (bei 16 bit tiefe) gesetzt werden können. Mehr ist definitiv nicht zu
    Schaffen. Trotz AGP-BUS !!!Trotz optimierten ASM-Code !!
    Gelesen können nur die Hälfte.
    Auch bei einer noch so schnellen CPU ist nicht mehr drin !!

    That's it.

    Cu
    Manitu 🕶



  • Und man sollte vielleicht noch in betracht ziehen,d ass man den Bildschirm zwar evtl. schnell vollmalen kann, aber das zu malende Bild muss wohl auch irgendwie ausgerechnet werden, im Speicher hinterlegt und dann bei den PutPixel-Routinen wieder vom Speicher geholt werden...da kommt einiges zusammen 🙂



  • hi nochmal,

    und könnt ihr mal die wirklich "schnellste" und "beste" putpixel routine posten? also was total optimiert ist etc.



  • *push*



  • *siehe 4. und 2. Posting*
    was sehr viel schnelleres habe ich noch net gesehen 😕


Anmelden zum Antworten