Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Mai 28, 2024 21:06

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Multithread OpenGL
BeitragVerfasst: Do Sep 27, 2012 06:50 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Moinsen,

ich hab irgendwo gelesen, das es ja möglich ist gleichzeitig mit 2 Renderkontexten zu arbeiten, sodass beide ihre Daten sharen. Da ich in einem Teil meiner software Videos nutze, d.h. ich zeige AVI Files auf Texturen, habe ich mir gedacht das man das Laden des Frames auslagern könnte. Problem ist nämlich das dekomprimieren des AVI Frames und dann das kopieren in die Textur. Das Funktioniert mit einem kleinen AVI sehr gut, doch wenns 3-4 Videos is der MainThread nur noch am ruckeln. Nun wollte ich gerne die Performance nicht abhängig vom Video machen. Wäre es also möglich in einem separaten Thread, oder auch mehrere, die Videos in die Textur zu laden und parallel im Mainthread zu rendern?

Wenn ja, worauf muss ich achten und wie funktioniert das praktisch?

Grüße
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multithread OpenGL
BeitragVerfasst: Do Sep 27, 2012 11:31 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2622
Wohnort: Berlin
Programmiersprache: Go, C/C++
Folgender Link sollte dir weiter helfen.
http://www.opengl.org/wiki/OpenGL_and_multithreading

Ich würde empfehlen, die Videos in ein Threadpool zu decoden, die fertigen frames in dem Manager für das Video decoding zurück liefern und dann abhängig von dem gewollten verhalten(verwerfen,zurück halten oder sofort raus schicken) es an den renderthread geben.
Der Renderthread sollte PBO mit async upload verwenden, dass um einiges flinker, da es nicht blockt aber kann eventuell erst einige Frames später ankommen, daher sollte man es so früh wie irgends möglich abschicken.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multithread OpenGL
BeitragVerfasst: Fr Sep 28, 2012 17:07 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Noch ein kleiner Zusatz:
-Du solltest auch noch unbedingt sicherstellen das du Fiber benutzt.
-Eventuell könnte es je nach Kodierung auch effizienter sein einzelne Quads mit den Änderungen zu zeichnen (natülich glClear dann entsprechend anpassen usw)

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multithread OpenGL
BeitragVerfasst: So Sep 30, 2012 12:16 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Danke erstmal für die Hinweise. Was ist Fieber?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multithread OpenGL
BeitragVerfasst: So Sep 30, 2012 12:44 
Offline
DGL Member
Benutzeravatar

Registriert: So Sep 26, 2010 12:54
Beiträge: 238
Wohnort: wieder in Berlin
Programmiersprache: Englisch
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682661(v=vs.85).aspx


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.032s | 17 Queries | GZIP : On ]