schnelle ausgabe einzelner zeichen?



  • Hi

    ich möchte für die Win32-Konsole eine _winzige_ Grafikengine schreiben. 🤡
    Sie soll ein Objekt(in dem Fall das Kantenmodell eines Würfels) mit Strichen
    darstellen. Da ich aufgrund mehrerer Farben zum Teil die Zeichen einzeln
    ausgeben muss suche ich eine Funktion die das !!schnell!! hinbekommt.
    Abmessungen liegen bei 20*20*20 also 8000 einzelne Zeichen !
    wenigstens 5 fps solle man schon schaffen deshalb ->
    cout schaffts nich
    FillConsoleOutputCharacter schaffts nich..
    gibt es irgenteine Funktion die das _Wirklich_ schafft?
    😕 😕 😕 😕 😕



  • wüßte auch mal gerne wie man es schafft ganze grafiken so schnell zu laden?
    http://taat.fi/tmdc/download.html
    das sind richtig gute dabei und ich hab dabei ca 30 fps.....



  • Würde mich auch mal interessieren... Hab mir mal den Sourcecode von caca etc. angeguckt, allerdings wurden ausgerechnet die relevanten Funktionen wie z.B. putchar() u. Co. nicht gefunden. 😞



  • Du kannst double buffern. Also einen zweiten consolen buffer erstellen (CreateConsoleScreenBuffer) und dann immer den offscreen buffer füllen und dann mit SetConsoleActiveScreenBuffer umschalten.

    PS:
    In diesem Fall wäre sogar eine 16bit app schneller, weil du durch die virtual extension drivers (vxd) ein direktes memory mapping hättest.



  • 1. kannst du mir mal bitte den link zu dem code schicken?

    2. kann man da auch verschiedene farben in einer zeile speichern mit dem buffer?



  • Eup schrieb:

    1. kannst du mir mal bitte den link zu dem code schicken?

    Also da gibt es mehrere Libraries dieser Sorte:
    -AA-Lib: http://aa-project.sourceforge.net/aalib/
    -libcaca: http://libcaca.zoy.org/

    Eup schrieb:

    2. kann man da auch verschiedene farben in einer zeile speichern mit dem buffer?

    Ja, das ist unabhängig von irgendwelchen Buffern.



  • mikey schrieb:

    Würde mich auch mal interessieren... Hab mir mal den Sourcecode von caca etc. angeguckt, allerdings wurden ausgerechnet die relevanten Funktionen wie z.B. putchar() u. Co. nicht gefunden. 😞

    im verzeichnis 'caca' die driver_xxx.c files (verwenden systemspezifische funktionen, z.b. unter windoofs 'WriteConsoleOutput'.
    🙂



  • Danke 😉 Leider befindet sich da trotzdem nirgends die putchar() Funktion. Naja, liegt wohl an Windows, nichtmal die Suche arbeitet vernünftig.


Anmelden zum Antworten