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

Aktuelle Zeit: Do Mär 28, 2024 21:40

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: In separatem Thread rendern
BeitragVerfasst: Fr Feb 21, 2020 08:27 
Offline
DGL Member

Registriert: Do Feb 20, 2020 13:27
Beiträge: 2
Programmiersprache: Delphi
Guten Morgen!

Ich kämpfe nun schon länger mit meiner Quest, die Framerate meiner DelphiGL-Programme bei 60 FPS zu fixieren.
Bis jetzt beschränkte ich diese nämlich immer mit Sleep-Aufrufen im Haupt-VCL-Thread. JEDOCH hat dies bei vielen Aufrufen zu sleep auch immer das ganze GUI einschlafen lassen. Das find' ich nicht besonders hübsch. Also habe ich mir gedacht, lass ich das ganze rendern und sleepen von einem anderen Thread machen! Und genau damit habe ich jetzt Probleme.

Bis jetzt habe ich den IdleHandler von meinem Fenster genützt, um meinen Game-Loop voranzutreiben. Jetzt mache ich einen Thread, welcher Execute so schnell wie möglich aufruft. Darin rendere ich, und Limitiere die Framerate. Theoretisch. Denn sobald ich aus dem Thread rendere kriege ich "1282 - Der Vorgang ist ungültig". Ich glaube OpenGL ist soweit richtig initialisiert, also weiss ich echt nicht, wo das Problem liegt

Hilfe? : )


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: In separatem Thread rendern
BeitragVerfasst: Fr Feb 21, 2020 09:39 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
OpenGL ist "etwas" sperrig wenn es um Threads geht. Um es kurz zu machen: Ein Kontext darf nur in einem Thread verwendet werden.
Man erstellt dann entweder einen Kontext pro Thread oder wie in deinem Fall: Man sorgt dafür, dass ein Kontext immer nur in einem Thread verwendet wird. Und der Thread muss den Kontext aktiv bekommen. Unter Windows ist dies wglMakeCurrent.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: In separatem Thread rendern
BeitragVerfasst: Di Feb 25, 2020 14:17 
Offline
DGL Member

Registriert: Do Feb 20, 2020 13:27
Beiträge: 2
Programmiersprache: Delphi
Deine Antwort war sehr hilfreich, danke!

Grüessli


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 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.079s | 17 Queries | GZIP : On ]