Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
Hi Leute,
wie benutzt man eigentlich wglShareLists richtig? Wie macht man zum Beispiel ein "unshare"? Hat da jemand ein einfaches Beispiel das man sich das mal kurz anschauen kann?
Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
Guck mal ins Wiki, das ist beschrieben wie genau das geht: wglShareLists. Kurz gesagt: nach dem Aufruf von wglShareLists teilen sich 2 Contexte die selben Objekte. Man kann die Objekte also zwischen den Contexten austauschen bzw. das selbe Objekt in 2 unterschiedlichen Kontexten nutzen. Ich hab bis jetzt aber noch keine sinnvolle Anwendung für die Funktion gefunden. Ein Unshare gibt es meines Wissens nach nicht.
Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
Nun ich weiss noch nicht ob ich es wirklich benutzen werde. Aktuell nutzt mein Renderer nur einen Kontext fuer das Backend und wird ueber 2 Command-Buffer gesteuert (aehnlich wie Quakes r_smp). Funktioniert auch ganz gut und alles laeuft auf 120/60 FPS (Eventloop/Renderer). Nur bin ich noch nicht ganz sicher wie ich das Laden von Texturen usw. damit bewerkstellige. Man koennte das zwar auch im Backend machen, allerdings stell ich mir einen 2ten Context entspannter vor. So zwecks Lebensdauer von Pointer etc..
Registriert: Di Aug 23, 2005 09:15 Beiträge: 31
Programmiersprache: FPC/Delphi XE3
Bergmann89 hat geschrieben:
Guck mal ins Wiki, das ist beschrieben wie genau das geht: wglShareLists. Kurz gesagt: nach dem Aufruf von wglShareLists teilen sich 2 Contexte die selben Objekte. Man kann die Objekte also zwischen den Contexten austauschen bzw. das selbe Objekt in 2 unterschiedlichen Kontexten nutzen. Ich hab bis jetzt aber noch keine sinnvolle Anwendung für die Funktion gefunden. Ein Unshare gibt es meines Wissens nach nicht.
Ich habe es mal versucht mit font Calllists (wglusebitmap Font und/oder outline font) um die nicht per Kontext (ich habe mehrere Kontexte und mehrere Großen )generieren (speicher, schneller starten) müssen. Ist mich nicht gelungen
Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
Das ist einer der Gruende warum ich es wieder rausgenommen habe. Das Problem ist halt das manche Treiber einigen Funktionen die gleiche Threadaffinitaet wie dem DC verpassen. Sprich sie muessen im gleichen Thread geschehen der dein Fenster erstellt, und verarbeitet. Am bekanntesten ist das Problem bei der SwapBuffer Funktion. Einige Treiber koennen das im Hintergrund ausfuehren und andere nicht. Wie und ob man da Pruefen kann ob solche Features unterstuetzt weiss ich nicht. Ich hatte da jetzt auch keine Lust danach zu suchen.
Mitglieder in diesem Forum: 0 Mitglieder und 90 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.