Welches ist die beste GUI-Library + welche Vorgehensweise ist die beste um Grafiken zum Drucken zu erstellen?



  • @Swordfish sagte in Welches ist die beste GUI-Library + welche Vorgehensweise ist die beste um Grafiken zum Drucken zu erstellen?:

    @chris4cpp CPUs zeichnen nichts (heute zumindest nimmer).

    Alles was nicht OpenGL/DX etc, also GPU ist, wird von der CPU gezeichnet(Software Rendering). Aktuell zeichne ich noch mit der CPU und schiebe das Ergebnis als Bild an ein QLabel. Mit Zechenfunktionen von Qt selbst war das recht langsam, per Hand in einen Framebuffer schreiben ging wesentlich schneller. Aber das ist erst mal nur eine Krücke für die Echtzeitdarstellung der Soundbufffers, später soll die GPU vieles übernehmen. Meine Echtzeitwidgets in der GUI werden alle 40ms aktualisiert und das soll in etwa auch so bleiben. Jeder kleinste Geschwindigkeitsbonus zählt da für mich und daher auch mein Wunsch nach einer GPU GUI und das am liebsten mit 1:1 Look egal auf welcher Plattform. Denn dann wäre ich save und mir kann es egal sein wenn ein OS mal wieder seine Widgets ändert.



  • @SeppJ sagte in Welches ist die beste GUI-Library + welche Vorgehensweise ist die beste um Grafiken zum Drucken zu erstellen?:

    Microsoft empfiehlt, heutzutage nur die rechte Hälfte des Bildes zu nutzen.

    Das verschwendet ja die Hälfte vom Display!? *scnr*

    @chris4cpp sagte in Welches ist die beste GUI-Library + welche Vorgehensweise ist die beste um Grafiken zum Drucken zu erstellen?:

    Aktuell zeichne ich noch mit der CPU

    Deine CPU zeichnet garnichts. Das war mal so. In einem fernen Land vor langer Zeit als man noch nach 0xb8000 geschrieben hat um was auf den Bildschirm zu bekommen. Du verwechselst da was. Wie Du Deine Pixelsammlungen zusammenbaust ist Dein Bier. Wie die auf den Bildschirm kommen ist OS/Graphics Driver-Bier.



  • Natürlich zeichnet meine CPU in den Speicher. Dieser Bereich wird dann auf den Bildschirm geblittet. Wie dieser Blit intern funktioniert weiß ich nicht, sehr wahrscheinlich am Ende einer Kette von Qt Objekten, Treibern dann per GPU auf den Bildschirm. Aber ALLE Zeichenoperationen für den Bereich, der am Ende auf den Bildschirm kopiert wird, zeichnet meine CPU in ein char Array. Ich setze jeden Pixel per Hand/CPU, nennt sich Software Rendering. Warum habe ich das gemacht? Nun als erstes hatte ich eh schonmal einen kleinen Software Renderer angefangen und zweites ist diese Methode um einiges schneller gewesen als das was ich über Qt Zeichenbefehler probiert hatte z.B. addLine. Wenn ich dann soweit bin per OpenGL Shader die Sache zu erledigen, dann wird das nochmal einen performanceboost bringen(so hoffe ich zumindest).

    Na wenn das hier nicht per CPU ist, dann weiß ich auch nicht^^

    void Framebuffer::clear()
    {
    	memset(adress_, 0, length_);
    }
    
    void Framebuffer::fill()
    {
    	for (int i = 0; i < length_; ) {
    		adress_[i++] = color_.b;
    		adress_[i++] = color_.g;
    		adress_[i++] = color_.r;
    		i++;
    	}
    }
    
    void Framebuffer::fillRandom()
    {
    	for (int i = 0; i < length_; ++i) {
    		adress_[i] = (unsigned char)rand() % 255;
    	}
    }
    
    void Framebuffer::setPixel(int x, int y)
    {
    	int offset = (y * yoffset_) + (x << 2);
    	adress_[offset++] = color_.b;
    	adress_[offset++] = color_.g;
    	adress_[offset] = color_.r;
    }
    


  • @chris4cpp sagte in Welches ist die beste GUI-Library + welche Vorgehensweise ist die beste um Grafiken zum Drucken zu erstellen?:

    Natürlich zeichnet meine CPU in den Speicher.

    Daran ändert aber x-beliebige GUI library nichts. Das tust Du ja bevor das weitergereicht wird.



  • Das bezogt sich auf deine Antwort. Ich habe vorher geschrieben "Aktuell zeichne ich noch mit der CPU" und darauf hin hast du geantwortet: "Deine CPU zeichnet garnichts. Das war mal so..."



  • @chris4cpp ist ja auch so.



  • Software Rendering heiß mit der CPU zeichnen und am Ende auf den Bildschirm kopieren(entweder per GPU oder sonst wie). Aktuell betreibe ich Software Rendering, würde aber gerne per OpenGL GUI auf Hardware Rendering umschwenken in Zukunft.



  • @chris4cpp sagte in Welches ist die beste GUI-Library + welche Vorgehensweise ist die beste um Grafiken zum Drucken zu erstellen?:

    würde aber gerne per OpenGL GUI auf Hardware Rendering umschwenken in Zukunft.

    dann mach das



  • Ne einheitliche Gui für alle Betriebssysteme oO Geht's noch?
    Ich reg mich schon immer auf, wenn Programme wie z.B. Browser nicht system title bars and borders benutzen ... oder wenn jedes Programm mit seinen eignene icon theme ankommt oO Und ich rede hier noch gar nicht über Benutzerfreundlichkeit, es ist einfach HÄSSLICH 😃
    Apple ist das beste Beispiel dafür ... 90% kommt aus der selben Firma ... hardware, software, programmiersprache, apps etc. ... Es gibt ein klares design theme und alles passt so grob zueinander und das ist was der durschnittliche Benutzer haben will.
    Und dann kommen wir mal zu Benutzerfreundlichkeit ... gutes Beispiel hier z.B. sind notifications ... die möchte ich gerne von meiner Desktop Oberfläche dargestellt haben und zwar immer im gleichen Design, an der selben Stelle. Das wäre ja was schönes, wenn jede App seine Notifications in ner anderen Ecke anzeigt ... oder am Ende mit irgendwelchen seltsamen Animationen ankommt.

    Deine Idee funktioniert nur unter einer Bedingung, wenn es einheitliche design guides gibt. Und zwar unter Windows, Linux und Mac Os ... dann wäre das natürlich toll, weil man nur einmal code produzieren muss und es trotzdem sich nativ anfühlt. Aber ist jetzt nicht gerade die beste Idee ... oder willst du ernsthaft nur noch eine GUI haben? Welche wäre das? Damit wäre das Wort "innovativ" aus dem Duden entfernt.
    Das tolle an Linux war und ist, dass ich mir meinen grafische Oberfläche im Gegensatz zu Windows aussuchen kann.



  • Ist halt Geschmackssache. Ich finde es toll wenn Blender oder VSTs Plugins auf jedem System exakt gleich aussehen und funktionieren.



  • Gui's wie Qt oder Gtk funktionieren doch unter allen gängigen Betriebssystem
    Das Sie dann nicht so klasse ausehen liegt dann vermutlich an den Designern die sich keine Mühe geben. Ich finde bspw gimp passt zu Windows 10 wie zu den meisten linux Oberflächen hat gtk schon ganz gute Arbeit geleistet



  • Jemand dessen primärer Fokus es ist Blender zu verwenden, evtl. auf unterschiedlichen Systemen, freut sich wenn es überall gleich aussieht und die selben Shortcuts verwendet.

    Jemand der mit vielen unterschiedlichen Programmen arbeitet, dafür immer auf dem selben System, freut sich wenn die Programme alle relativ ähnlich aussehen/funktionieren und die selben Shortcuts für die selben Funktionen verwenden.

    Was natürlich doof ist, weil man es kaum beiden recht machen kann.



  • Wobei "Jemand der mit vielen unterschiedlichen Programmen arbeitet, dafür immer auf dem selben System, freut sich wenn die Programme alle relativ ähnlich aussehen/funktionieren und die selben Shortcuts für die selben Funktionen verwenden."

    erstmal grundsätzlich auf jeden zutrifft würde ich sagen. Zumindest jeder der mir bekannt ist hat eine klare Betriebssystem Präferenz und nutzt mehr als nur ein Programm.

    "Jemand dessen primärer Fokus es ist Blender zu verwenden, evtl. auf unterschiedlichen Systemen, freut sich wenn es überall gleich aussieht und die selben Shortcuts verwendet."
    Das ist dann in der Regel öfters unfreiweillig, weil es z.B. auf der Arbeit standardmäßig immer Windows gibt.
    Und es war ja auch nicht die Rede davon, dass Blender jetzt die Reihenfolge von allemn Buttons vertauscht ... geht ja eher darum wie die Buttons aussehen z.B. ... und ich glaube jemand der professionell damit arbeitet ist das erstmal Schnuppe bzw. stellt keine Schwierigkeit da, damit zu arbeiten.



  • @Leon0402 Vermutlich hast du da Recht, ja. Wobei das

    geht ja eher darum wie die Buttons aussehen z.B. ... und ich glaube jemand der professionell damit arbeitet ist das erstmal Schnuppe bzw. stellt keine Schwierigkeit da, damit zu arbeiten.

    dann auch wieder umgekehrt gilt. D.h. es sollte für jemanden der GUI X gewohnt ist auch kein Problem sein wenn die Buttons eben nicht wie in GUI X üblich aussehen.

    Wo es dann allerdings nerviger wird sind Dinge wie File-Open/-Save Dialoge & Co. Finde ich zumindest immer sehr irritierend wenn da ein Programm meint sein eigenes Süppchen kochen zu müssen (bzw. ein GUI Toolkit zu verwenden das sein eigenes Süppchen kocht).



  • Ich bin so ein OS-Wechsler gewesen. Rund 6 Jahre Linux(Xubuntu) und Windows im Dualboot und dann ca 2 Jahre nur MacOs. Am Ende des Tages habe ich mich dann für Windows10 entschieden, aber auch wenn ich total zufrieden bin mit Win10 so kann dies in ein paar Jahren natürlich anders sein.

    Ihr habt aber recht, die meisten bleiben bei einem OS, weil sie es gewohnt sind oder weil sie einer Ideologie folgen oder beides.

    Was jetzt so immer mehr dazu kommt sind iOS und Android, sowie Apps die im Browser laufen. Eine OpenGL GUI könnte auch diese Systeme mit ins Boot nehmen. So müsste sich niemand mehr umgewöhnen egal ob er nun eine seiner Windows Workstation sitzt oder am SmartTV mit Android seine Anwendung aufruft.

    Was eine Grundvoraussetzungen für eine OpenGL GUI wäre, wäre ein einheitliches Thema Pack für Dunkel und Hell Modus und alles Widget sowie Filedialog etc. haben ein Standardaussehen, so dass es den Entwickler überlassen ist, ob er auf einen Standard zurück greift den dann alle schon kennen(bei entsprechender Verbreitung) oder einiges anpasst.

    Ziel wäre es dann die GUI vom OS so weit es geht zu trennen. Ein Umstieg von Windows auf Linux oder sonst was würde dann kein Anwender mehr groß mitbekommen.



  • @hustbaer sagte in Welches ist die beste GUI-Library + welche Vorgehensweise ist die beste um Grafiken zum Drucken zu erstellen?:

    Jemand dessen primärer Fokus es ist Blender zu verwenden, evtl. auf unterschiedlichen Systemen, freut sich wenn es überall gleich aussieht und die selben Shortcuts verwendet.

    Btw: 2.8 wurde gerade released mit massivem Umbau der GUI. Unter anderem, damit blender sich eben nicht mehr komplett anders verhält, als der Rest der Welt.



  • Ja Blender 2.8 hat du einiges an der GUI erweitert, optimiert und umgebaut, die Grund-GUI Elemente sind aber gleich geblieben, nur etwas dunkleres Thema und ein paar Widgets wurden hinzugefügt. Blender mit GUI Elemente des OS würde ich schrecklich finden. Man kann jetzt auch die Shortcuts von den Industrie 3D Programmen einstellen, wenn man das will. Alles ist dort so ziemlich konfigurierbar gehalten.



  • @chris4cpp sagte in Welches ist die beste GUI-Library + welche Vorgehensweise ist die beste um Grafiken zum Drucken zu erstellen?:

    Alles ist dort so ziemlich konfigurierbar gehalten.

    OT: Wie findest du die neue Version? Die Umstellung ist schon krass, wenn man alles auf default lässt oder?
    Ich denke halt, dass es sich lohnt den neuen Weg mitzugehen, aber mein Workflow leidet schon heftig. Hab auch keine Zeit mich neu einzuarbeiten.



  • @chris4cpp Gerade bei Android und iOS wollen die User dass Apps so aussehen wie sie es gewohnt sind. Und das nicht nur was das Aussehen der Controls angeht sondern auch was das Layout angeht. Bei Dingen wie Spielen wird akzeptiert dass jedes Spiel irgendwie was eigenes macht. Aber bei Apps... halt weniger.

    Das ist z.B. auch einer der Gründe warum Xamarin davon abgeraten hat die Variante zu verwenden wo man die Views nur 1x für alle Geräte machen muss und statt dessen ein eigenes Set an Views pro OS empfohlen. (Ich weiss nicht ob das aktuell noch so ist, dass ich das gelesen habe ist schon ein paar Jahre her, aber es würde mich ehrlich gesagt wundern wenn sich daran was geändert hätte.)



  • Whatapp oder Joyn sieht mir jetzt nicht wie eine typische Android App aus, aber da bin auch gar nicht so drin in der Thematik, da ich mein Smartphone echt selten nutze.(vielleicht 5min pro Tag)
    @Jockelx
    Ich finde die neue Blender Version Klasse, ein zwei Sachen habe ich umkonfiguriert aber ansonsten war ich schon immer ein Fan von Linksklick Selektion etc. Begeistert bin ich auch von der weiteren rasanten Entwicklung, wie jetzt der neue Sculpting Branch, der wohl mit Version 2.81 dann kommt. Epic hat dann auch noch 1,2 Millionen Dollar für die Entwicklung gespendet. Blender ist dabei durch die Decke zu schießen meiner Meinung nach und wird Autodesk bestimmt den ein oder anderen User kosten können in ein paar Jahren. Wäre toll wenn Gimp da mithalten könnten, aber Krita macht da ganz gute Fortschritte. Am liebsten würde ich ja nur OpenSource einsetzten, aber ich setze es nur da ein wo ich mich dann auch mit den Programmen wohl fühle, das sind im Moment Inkscape, LibreOffice, Blender und Krita. Gimp finde ich immer noch schrecklich und leider macht mir auch Linux auf dem Desktop keinen großen Spaß weil es viele Programme schlicht weg nicht gibt dafür und ich immer noch viel zu viel manuell konfigurieren muss bis es so gut funktioniert wie unter Windows. Ich bin da aber dran und teste mindestens einmal im Jahr ne Distro ob sie mir gefällt. Bis jetzt ist sie dann immer wieder runtergeflogen, aber vielleicht bleibt es ja mal eines Tages drauf. Gut darauf warte ich jetzt schon gut 13 Jahren, aber die Hoffnung stirb bekanntlich zu letzt. Und das Thema Linux wäre jetzt auch noch dick Offtopic im Offtopic^^


Anmelden zum Antworten