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

Aktuelle Zeit: Sa Jul 19, 2025 01:23

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Performance probleme mit glSlang
BeitragVerfasst: Do Nov 25, 2004 00:25 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

hab mal ein paar fragen zur Performance von glSlang..
ich hab nen Shader damit geschrieben und hab schon nurnoch ca. 20 fps... dabei ist da eigentlich nix wildes drin.

Aber was genau macht glSlang langsam???
Ich hab rausgefunden das bei meinem Shader z.B. eine if-Abfrage (welche in einer Funktion ist die 5x im Shader aufgerufen wird) knapp 10-12 FPS ausmacht.. also wenn ich sie weglasse hab ich gleich 12 FPS mehr... ausschauen tut sie so (btw.. im PixelShader):

Code:
  1. if (Light.Position != vec4(0, 0 ,0, 0)) {


Light.Position ist vom Typ auch vec4... wenn ich diese eine Zeile auskommentiere, also so das der Code in der If-Abfrage IMMER ausgeführt wird hab ich 12fps mehr... (allerdings kann es wenn die Position 0 0 0 ist zu nem fehler kommen, deswegen die abfrage)

andere dinge die das ganze beträchtlich langsam machen hab ich nochnicht gefunden...

aber gibt es evtl irgendwelche grundregeln...??

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 25, 2004 00:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Karten der Shader2-Generationen unterstützen kein Early-Out, von daher wird immer der komplette Shader abgearbeitet, und einer der beiden Zweige der IF-Abfrage am Ende verworfen. Deshalb zerrt If im FS stark an der Performance und sollte vermieden werden (evtl. zwei Shader nutzen).

Generell kann man nicht viel sagen, aber je länger der Shader, desto langsamer. Du musst aber auch sagen welche Graka du verwendest, denn besonders die Geforce FX-Karten sind in Sachen Shaderperformance nicht sehr toll.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 25, 2004 00:46 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

danke schonmal :)

Benutze ne GeForce FX 5900XT.. ich weiß, is nich die tollste... (sind Schulrechner hier ^^)

aber wie meinst du das mit 2 Shader benutzen??? *guckt unsicher*

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 25, 2004 00:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Du prüfst doch (wegen dem Code oben) ob dein Licht bei 0/0/0 ist oder nicht. Das ist aber ja eine Prüfung die du auch in deinem Programm machen kannst, also bindest du je nach Lichtposition einen Shader in dem steht was jetzt in deinem If-Zweig steht, bzw. einen zweiten Shader in dem der Inhalt des Else-Zweiges steht.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 25, 2004 00:56 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

oh.. ok, das is ne idee! :)
Danke!

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Shader2
BeitragVerfasst: Do Nov 25, 2004 16:45 
Yep, deine GF5900 is ne Shader2 karte


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


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 3 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.007s | 15 Queries | GZIP : On ]