Linien mit LCL --> der Weg
-
- Beiträge: 6916
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Linien mit LCL --> der Weg
Kann da die GPU beim zeichnen auf die Bitmap helfen, oder muss dies alles die CPU erledigen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Linien mit LCL --> der Weg
Grundsätzlich ist das möglich. Deshalb gibt es auch Bibliotheken wie Cairo, die genau das machen.Mathias hat geschrieben: Do 29. Dez 2022, 18:42 Kann da die GPU beim zeichnen auf die Bitmap helfen, oder muss dies alles die CPU erledigen ?
https://de.wikipedia.org/wiki/Cairo_(Grafikbibliothek)#Verwendung_in_GUI-Toolkits hat geschrieben:Cairo wird ab Version 2.8.0 von GTK unterstützt. Damit ist es möglich, von GTK+-Widgets einen Cairokontext (cairo_t, siehe Zeile fünf im Beispiel) zu erlangen und dann mit Cairofunktionen in diesen zu zeichnen. Mit den gleichen Methoden zeichnet GTK+ intern ab dieser Version die meisten seiner Widgets mit Cairo und kann damit von hardwarebeschleunigtem Rendering profitieren.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 6916
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Linien mit LCL --> der Weg
Daher wurde mir empfohlen, Cairo anzugucken ?Grundsätzlich ist das möglich. Deshalb gibt es auch Bibliotheken wie Cairo, die genau das machen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Linien mit LCL --> der Weg
Ja, damit kannst du besser und zukunftssicherer arbeiten als mit X11. Wie bereits in den Posts vorher ist ja die Verwendung:Mathias hat geschrieben: Fr 30. Dez 2022, 19:49Daher wurde mir empfohlen, Cairo anzugucken ?Grundsätzlich ist das möglich. Deshalb gibt es auch Bibliotheken wie Cairo, die genau das machen.
- Deine Anwendung nutzt die LCL um plattformunabhüngige Grafikausgabe und Steuerelemente bereitzustellen. Dazu greift sie auf ein bestimmtes Widgetset wie GTK 2/3 zurück.
- Das Widgetset zeichnet seine Steuerelemente selbst. GTK nutzt hier zu cairo. GTK bietet aber auch die Möglichkeit, direkt mit cairo-Befehlen im eigenen Programm eigene Dinge zu zeichnen.
- Das Widgetset sorgt dafür, dass die gezeichneten Bilder über den Displaymanager auf dem Bildschirm landen. X11, und Wayland stellen hier nur die unterste Ebene zur Ausgabe des Bildes (oder aber zur Eingabe von Maus und Tastatur) bereit.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 6916
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Linien mit LCL --> der Weg
Jetzt sehe ich so langsam die Vorteile, das man eine Linie nicht mit X11 zeichnet.
Da man mit GTK Cairo verwendet, spielt es keine Rolle auf welcher Plattform man ist.
Ich nehme mal an, das Cairo was ähnliche ist wie OpenGL und GPU Beschleunigung nutzt, wen vorhanden, nur mit dem Unterschied, das es nur 2D kann.
OpenGL zeichnet eine Linie auch nicht mit X11, sondern rendert in einen Frame Buffer, und schreibt diesen dann auf den Bildschirm.
Und unter dem Strich, grob gesagt, wird bei Linux X11 nur noch für XCreateWindow() und XPutImage(...) gebraucht.
So wie ich mich erinnern mag, war KDE1 der erste Schritt in dieser Richtung ?
Da man mit GTK Cairo verwendet, spielt es keine Rolle auf welcher Plattform man ist.
Ich nehme mal an, das Cairo was ähnliche ist wie OpenGL und GPU Beschleunigung nutzt, wen vorhanden, nur mit dem Unterschied, das es nur 2D kann.
OpenGL zeichnet eine Linie auch nicht mit X11, sondern rendert in einen Frame Buffer, und schreibt diesen dann auf den Bildschirm.
Und unter dem Strich, grob gesagt, wird bei Linux X11 nur noch für XCreateWindow() und XPutImage(...) gebraucht.
So wie ich mich erinnern mag, war KDE1 der erste Schritt in dieser Richtung ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot