Grafikkonzept



  • Umfrage: Wäre das Konzept theoretisch so ok?

    Auswahl Stimmen Prozent
    Ja 4 66.7%
    Nein 2 33.3%

    Falls sich wirklich irgendwann alle in das Thema "Grafik" stürzen, wird höchstwarscheinlich wieder Probleme geben.
    Deshalb habe ich ein Konzept entwickelt, welches vielleicht Ansatzweise Probleme im Vorfeld vermeidet und eine solide Basis schafft.

    http://prettyos.fanofblitzbasic.de/GUI.zip (Video, am besten mit dem VLC Media Player ansehen)
    ~(haha, das geht in OpenOffice.org nicht :P)~

    Ist nur ein Vorschlag, ich wäre aber sehr dafür.

    Cuervo



  • Hallo,

    also ich persönlich finde dieses Konzept eher ungeschickt. Erstens verbraucht es drei mal so viel Speicher wie eigentlich nötig (okay einer dieser Speicherbereiche liegt eh auf der GraKa) und dann wird alles doppelt kopiert. Während des zweiten Kopieren kann auch nichts neues gezeichnet werden, das finde ich irgendwie ungeschickt wenn mein Programm für eine klitzekleine Bildschirmoperation erst lange warten muss.

    Grüße
    Erik



  • Hm, kann man ja als Thread machen lassen.. ok, vllt kann man den 1. Buffer weglassen aber Double Buffering ist wirklich sinnvoll.



  • Hallo,

    Cuervo schrieb:

    aber Double Buffering ist wirklich sinnvoll.

    Das zweifelt niemand an, aber man sollte es der Hardware überlassen die das mit deutlich weniger Zeitaufwand erledigt.

    Gutes Hardware-Triple-Buffering stelle ich mir so vor das nach dem Umschalten auf einen neuen aktiven Puffer (der dann auf den Bildschirmübertragen wird) die Daten vom nächsten Puffer in den übernächsten Puffer kopiert werden und sämtliche Schreibzugriffe der CPUs auf den nächsten Puffer immer auch in den übernächsten Puffer gespiegelt werden. Wenn dann vom aktuellen Puffer auf den nächsten Puffer umgeschaltet wird sind dieser und der übernächste Puffer exakt identisch. So entstehen keine Tot-Zeiten, nur der Speicher auf der GraKa muss eine sehr hohe Daten-Transfer-Rate haben (was heutzutage ja kein Problem ist).

    Grüße
    Erik



  • Ich bin mir jetzt nicht sicher, aber – kann VBE das überhaupt mit relativ geringem Aufwand? VBE3 kann afaik Triple Buffering, aber das ist nicht so weit verbreitet, glaub ich.



  • Hallo,

    XanClic schrieb:

    kann VBE das überhaupt mit relativ geringem Aufwand? VBE3 kann afaik Triple Buffering, aber das ist nicht so weit verbreitet, glaub ich.

    Ich vermute mal beides eher nicht. Das übliche Double-Buffering und Triple-Buffering das ich kenne basiert darauf das die SW den Bild-Puffer immer komplett neu befüllt, ich kenne das zumindest aus der Zeit der DOS-basierten Spiele und Demos so. Ob es überhaupt GraKas gibt die beim Triple-Buffering den Bild-Inhalt selbstständig kopieren weiß ich nicht, besonders cool wäre es wenn man das für alle einzelnen Fenster getrennt machen könnte und die GraKa das Bild erst anhand einer Fenster-Karte zusammensetzt (das würde z.B. Festerbewegen ohne nennenswerten Aufwand bedeuten).

    Grüße
    Erik



  • Ok, mein Konzept ist doof. Ab jetzt wird dieser Thread für andere Konzepte genutzt. Die Abstimmung hat keine weitere Bedeutung mehr, Abstimmen ist aber weiterhin erlaubt (kann nicht mehr gelöscht werden.. -.-)

    Cuervo



  • Hallo,

    Cuervo schrieb:

    Ab jetzt wird dieser Thread für andere Konzepte genutzt.

    Oh, sorry, an die Abstimmung hatte ich gar nicht gedacht als ich meinen Fingern freien Lauf auf der Tastatur ließ. 😃

    Grüße
    Erik



  • erik.vikinger schrieb:

    XanClic schrieb:

    kann VBE das überhaupt mit relativ geringem Aufwand? VBE3 kann afaik Triple Buffering, aber das ist nicht so weit verbreitet, glaub ich.

    Ich vermute mal beides eher nicht.

    Hm, aber PrettyOS hätte ja kaum eine andere Möglichkeit als VBE? Deine Ausführungen klangen jetzt zumindest so, als würdest du Software-Double-Buffering ablehnen und auf die Möglichkeiten der Hardware vertrauen, aber anscheinend gibt es diese Möglichkeit ja nicht...



  • Hallo,

    XanClic schrieb:

    Hm, aber PrettyOS hätte ja kaum eine andere Möglichkeit als VBE?

    Ja, leider. Deshalb mach ich ja was eigenes.

    XanClic schrieb:

    Deine Ausführungen klangen jetzt zumindest so, als würdest du Software-Double-Buffering ablehnen und auf die Möglichkeiten der Hardware vertrauen,

    Dann klang es richtig. Mache nie etwas per Software was man per Hardware deutlich effizienter machen kann. Nur leider klingen meine Worte nicht in den Ohren der verantwortlichen Entwickler für die PC-Plattform.

    XanClic schrieb:

    aber anscheinend gibt es diese Möglichkeit ja nicht...

    Theoretisch ließe sich das vielleicht mit einem OpenCL-Programm o.ä. machen, aber nur mit VBE wird da wohl nicht viel gehen. VBE stammt aus einer Zeit als die Transferrate des GraKa-RAMs noch nicht so berauschend hoch war wie heute.

    Grüße
    Erik



  • erik.vikinger schrieb:

    Ob es überhaupt GraKas gibt die beim Triple-Buffering den Bild-Inhalt selbstständig kopieren weiß ich nicht, besonders cool wäre es wenn man das für alle einzelnen Fenster getrennt machen könnte und die GraKa das Bild erst anhand einer Fenster-Karte zusammensetzt (das würde z.B. Festerbewegen ohne nennenswerten Aufwand bedeuten).

    Ist das nicht genau das was zur Zeit in den meisten Betriebssystemen benutzt wird? Der Fensterinhalt wird (Teils per Software teils per Hardware) in eine Textur gemalt und diese dann auf ein Rechteck gerendert. Dabei wird auch mindestens Hardware Double-Buffering eingesetzt.

    Man könnte ja irgendwann mal versuchen Mesa zu portieren und dann gucken ob man nach und nach Teile per Hardware beschleunigen kann. Das wäre allerdings schon eine sehr fortgeschrittene Aufgabe.



  • Aehm, ich will euch ja nicht den Spass verderben, aber waere es nicht vielleicht hilfreicher, zumindest die Feature-Listen auf den ersten 20 Seiten der VBE3-Spezifikation zu ueberfliegen, bevor ihr weiter im Nebel stochert und anfangt wild an irgendwelchen Riesenprojekten herumzuklempnern? 😃

    Achtung, Spoiler:
    Mit der VBE kann man sehr wohl Hardware Double Buffering verwenden - AFAIR sogar wenigstens seit Version 2. Seit Version 3 sogar Tripple Buffering mit Hardware-Unterstuetzung und noch vieles mehr. Fuer die Basics ist das allemal ausreichend.
    Zudem ist die VBE 3 AFAIR wenigstens seit den 4er AGP-Karten selbst in jeder noch so billigen PC-Graka implementiert.
    Dabei wird allerdings nichts umkopiert, sondern der Einfachheit halber die Startadresse des Frame Buffers verschoben.

    Ich wuerde euch raten, zunaechst mal ein wirklich durchdachtes Konzept mit hinreichend genauer Spezifikation der Anforderungen, mehreren Loesungsansaetzen und Schnittstellen zu entwickeln, bevor ihr euch im Kleinklein irgendwelcher Hardwarebeschleunigung verliert. Sonst koennt ihr es auch bei kleinen Hardwaredemos belassen. 😉


Anmelden zum Antworten