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

Aktuelle Zeit: Fr Jul 04, 2025 16:28

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



Ein neues Thema erstellen Auf das Thema antworten  [ 27 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: XyEngine - Benchmark
BeitragVerfasst: So Jun 12, 2011 20:11 
Offline
DGL Member

Registriert: Sa Jun 05, 2010 16:15
Beiträge: 94
Hi,

Tjo ich wusste jetzt nich in welchen Thread ich das schreiben soll, aber ich denke hier passts :).

Die Engine, an der ich schon einige Zeit lang arbeite, wird bald fertig. Bis jetzt wurde sie nur auf neueren Grafikkarten (z. B. > NVIDIA GTX 260) getestet und deshalb wollte ich hier nachfragen, wer die Benchmark dazu mal auf seinem PC durchlaufen lassen könnte. Sie dauert rund 5 Minuten und misst hauptsächlich die Performance bei verschiedener Anzahl an Lichtern.

Auf meiner Seite findet man weitere Informationen: http://xyross.de/index.php?id=2&entryid=11

Mir geht es bei dem Test um die Kompatibilität mit verschiedenen Grafikkarten (besonders ältere). Es wäre also hilfreich für mich zu wissen, wie und auf welchen Grafikkarten die Engine läuft. Das Bild sollte etwa so aussehen:

Dateianhang:
Benchmark.jpg

Nach dem 5 minütigen Test wird eine Datei mit dem Namen "benchmark.bin" (im selben Ordner, wo die Anwendung liegt) erstellt, welche man auf die folgende Website laden muss, um das Ergebnis zu sehen: (die Datei enthält nur die Ergebnisse der Benchmark sowie den Namen der Grafikkarte, OpenGL- und Shader - Version)

http://xyross.de/bench/ (Download ist auch auf dieser Seite)

Bin also für jede Antwort/Benchmark dankbar :D.

Mfg Pk3


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Mo Jun 13, 2011 01:26 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

bei mir kommt beim Start ein Fehler: "Error: Couldn't compute shadows on this hardware!" Und dann friert die Exe komplett ein. Grafikkarte is ne HD HD5970 (BIOS: 113-HD5790-102; Treiber: 8.831.2.0; Treiberdatum: 08.03.2011).

Hier das Log:
Code:
  1. ======= Starting Engine =======
  2. [SYSTEM] PerformanceCounter - Support: yes
  3. [SYSTEM]    Frequency: 14.318180 MHz
  4. Initializing Input System
  5. Initializing Render System
  6. [SHADER] (Vertex: FONT_SHADER):
  7. Vertex shader was successfully compiled to run on hardware.
  8.  
  9. [SHADER] (Fragment: FONT_SHADER):
  10. Fragment shader was successfully compiled to run on hardware.
  11.  
  12. [SHADER] (Vertex: DEFERRED_SHADER):
  13. Vertex shader was successfully compiled to run on hardware.
  14.  
  15. [SHADER] (Fragment: DEFERRED_SHADER):
  16. Fragment shader was successfully compiled to run on hardware.
  17.  
  18. [SHADER] (Vertex: DEFERRED_MAIN_SHADER):
  19. Vertex shader was successfully compiled to run on hardware.
  20.  
  21. [SHADER] (Fragment: DEFERRED_MAIN_SHADER):
  22. Fragment shader was successfully compiled to run on hardware.
  23.  
  24. [SHADER] (Vertex: DEFERRED_COLOR_SHADER):
  25. Vertex shader was successfully compiled to run on hardware.
  26.  
  27. [SHADER] (Fragment: DEFERRED_COLOR_SHADER):
  28. Fragment shader was successfully compiled to run on hardware.
  29.  
  30. [SHADER] (Vertex: DEFERRED_NORMAL_SHADER):
  31. Vertex shader was successfully compiled to run on hardware.
  32.  
  33. [SHADER] (Fragment: DEFERRED_NORMAL_SHADER):
  34. Fragment shader was successfully compiled to run on hardware.
  35.  
  36. [SHADER] (Vertex: DEFERRED_MRT_SHADER):
  37. Vertex shader was successfully compiled to run on hardware.
  38.  
  39. [SHADER] (Fragment: DEFERRED_MRT_SHADER):
  40. Fragment shader was successfully compiled to run on hardware.
  41.  
  42. [SHADER] (Vertex: GAUSSBLUR_SHADER):
  43. Vertex shader was successfully compiled to run on hardware.
  44.  
  45. [SHADER] (Fragment: GAUSSBLUR_SHADER):
  46. Fragment shader was successfully compiled to run on hardware.
  47.  
  48. [SHADER] (Vertex: DEFERRED_SHADOW_SHADER):
  49. Vertex shader was successfully compiled to run on hardware.
  50.  
  51. [SHADER] (Fragment: DEFERRED_SHADOW_SHADER):
  52. Fragment shader was successfully compiled to run on hardware.
  53.  
  54. [SHADER] (Vertex: SHADOW_SHADER):
  55. Vertex shader was successfully compiled to run on hardware.
  56.  
  57. [SHADER] (Fragment: SHADOW_SHADER):
  58. Fragment shader failed to compile with the following errors:
  59. ERROR: 0:16: error(#160) Cannot convert from 'bool' to 'highp float'
  60. ERROR: error(#273) 1 compilation errors.  No code generated
  61.  
  62. [SHADER] (Fragment: SHADOW_SHADER): Couldn't compile!
  63. [SHADER] (Vertex: SHADOW_DEPTH_SHADER):
  64. Vertex shader was successfully compiled to run on hardware.
  65.  
  66. [SHADER] (Fragment: SHADOW_DEPTH_SHADER):
  67. Fragment shader was successfully compiled to run on hardware.
  68.  
  69. OpenGL - Error: Couldn't compute shadows on this hardware!
  70. Shutdown Script System
  71. Shutdown 3D System
  72. Shutdown Render System


MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Mo Jun 13, 2011 08:14 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Also ich musste es bei 51 Lichter abbrechen.
Wenn eine Lichtquelle dazugekommen ist, ist der Lüfter der Graka immer lauter geworden.
Wirklich laut, unangenehm laut... so laut das ich angst um meine Graka hatte....

FPS war bei bei 60 oder so, bei 51 lichter.

Setzt deine beleuchtung auf Deferred Rendering?
Sollte es da eigentlich keine Rolle spielen, wieviel Lichtquellen dargestellt werden oder ist das Raytracing?
Weil in den Kugeln haben sich die Lichtquellen gespiegelt....


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Mo Jun 13, 2011 10:05 
Offline
DGL Member

Registriert: Sa Jun 05, 2010 16:15
Beiträge: 94
@Bergmann89
Ja, normalerweise sollte das Programm beenden wenn ein Fehler auftritt, aber ich hab ihn gefunden und behoben (Download von der selben Seite).

@Finalspace
Hm... ist deine Grafikkarte auch bei andren grafischen Anwendungen laut? Also mein GPU - Lüfter ist ziemlich leise und wird vom CPU - Lüfter übertönt...

Vor der Benchmark: 36°C (40% Fan Speed)
Nach der Benchmark: 73°C (50% Fan Speed)

Die Benchmark verwendet Deferred Shading für die Beleuchtung. Naja pro Licht wird ein Shader über ein bildschirmfüllendes Quad ausgeführt, der die Lichtberechnungen durchführt, das kostet ja Zeit ;).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Mo Jun 13, 2011 10:36 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Also ich glaube irgendwas ist an deinem Benchmark nicht sauber. Im Graphen gehen meine FPS zum Schluss wieder hoch *und* sind höher als deine. Da muss eigentlich irgendwas nicht stimmen ;).

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Mo Jun 13, 2011 10:54 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Hallo pk3:

Interessant finde ich, dass mein Ergebnis so von den anderen abweicht. Die anderen Kurven weisen einen viel "schöneren" exponentiellen Verlauf auf.

Wieso renderst du für jede Lichtquelle ein komplettes Fullscreen-Quad? Mal mit Bounding-Boxes versucht?.

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Mo Jun 13, 2011 11:37 
Offline
DGL Member

Registriert: Sa Jun 05, 2010 16:15
Beiträge: 94
Oh, ja der Graph geht genau anders rum :D... Das Liegt glaub ich an der ungenauen Messung der FPS. Habs jetzt behoben ;) (Download aktualisiert).

@damadmax
Wie schon gesagt, die Messung war zu ungenau. Bei jeder Lichtquelle wird in eine Textur gerendert, wo die Lichtstärke im RGB - Format drin liegt. Danach, wenn alle Lichtquellen darein gerendert haben, wird diese Textur auf die Color - Textur der Szene gelegt. Ich hätte natürlich im Shader eine Schleife machen können, dann müsste ich nur einmal für alle Lichtquellen rendern, aber ich glaube das ist eine nicht sehr kompatible Lösung...

Sieht das Bild von der Grafik her eigentlich genauso aus wie in meinem 1. Post hier?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Mo Jun 13, 2011 15:05 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Das hab ich meinen Inferred Lighting Algo auch so gelöst. Nur dass ich nicht alle Pixel des Quads prüfen muss. Es sind lediglich die Pixel von 3 Seiten eines Würfels zu berücksichtigen, der gerade so groß ist, dass die Lichtquelle mit ihrem maximalen Radius reinpasst. Wobei das natürlich auch Fullscreen-Quads werden, wenn die Lichtquelle einen zu großen Radius hat. Zusätzlich wird noch der Abstand vom Pixel zur Lichtquelle als "Early-Out" Kriterium genommen. Aber ich denke das hast du auch drin.

Ja die Szene sieht genauso aus, wie auf deinem Screenshot.


EDIT: Ich hab mal V-Sync deaktiviert. Liefert ein viel schöneres Ergebnis. Habs auch hochgeladen. Aber er hat meinen Nutzernamen nicht angenommen. Musst du mal den alten Eintrag aus der DB rausschmeissen.

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Mo Jun 13, 2011 15:25 
Offline
DGL Member

Registriert: Sa Jun 05, 2010 16:15
Beiträge: 94
Hab den alten Eintrag gelöscht und den neuen unbenannt. Sieht jetzt wirklich besser aus als vorher ;). Die Anwendung sollte das VSync eigentlich von selbst ausschalten...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Mo Jun 13, 2011 16:48 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 20, 2005 13:18
Beiträge: 1054
Wohnort: Dresden
Programmiersprache: C, C++, Pascal, OPL
So, habs auch mal gemacht. Er konnte bei 1280x768 nicht in den Vollbildmodus gehen. WAS für eine Überraschung :P
Ansonsten wie zu erwarten. KA, wie es in Windows auf dem PC wäre, hab keines drauf.

_________________
Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut.
Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’.
Und du schaust mich an und fragst ob ich das kann.
Und ich denk, ich werd' mich ändern irgendwann.

_________________Farin Urlaub - Bewegungslos


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Di Jun 14, 2011 07:10 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Pk3: Hast du die Graphen selbst erstellt oder eine lib dafür benutzt? Brauche sowas demnächst auch, und schwanke noch zwischen selbst basteln oder Google-Chart-Api nutzen.

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Di Jun 14, 2011 07:53 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Pk3 hat geschrieben:
@Finalspace
Hm... ist deine Grafikkarte auch bei andren grafischen Anwendungen laut? Also mein GPU - Lüfter ist ziemlich leise und wird vom CPU - Lüfter übertönt...

Vor der Benchmark: 36°C (40% Fan Speed)
Nach der Benchmark: 73°C (50% Fan Speed)

Die Benchmark verwendet Deferred Shading für die Beleuchtung. Naja pro Licht wird ein Shader über ein bildschirmfüllendes Quad ausgeführt, der die Lichtberechnungen durchführt, das kostet ja Zeit ;).


Nein, bei anderen Grafischen Anwendungen wird die nicht laut.
Bzw. eine ausnahme bietet Furmark, da wird der GPU lüfter auch lauter.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Di Jun 14, 2011 11:20 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Dann lösch mal HorazontDesktop aus der Ergebnisliste. Und eigentlich alle vor der Aktualisierung, denn rein technisch gesehen war das ein „grober Messfehler“ und die Messungen sind als nichtig zu betrachten. user17 kannst du dann in HorazontDesktop umbenennen.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: XyEngine - Benchmark
BeitragVerfasst: Di Jun 14, 2011 11:25 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Wie schon erwähnt wird die Füllrate ans limit getrieben, dann wird die gpu natürlich viel wärmer als üblich, da sonnst das Bottleneck in der sync, cpu, alles im allen nicht auf der GPU oder vertex durchsatz auf der gpu aber da gibt es nicht so viel zu rechnen wie beim shading.
2. erreicht man recht einfach, indem man ein vbo anlegt, in diesen ein triangle viele hundert, bis tausend mal rein packt(kommt auf die cachegröße von der karte an, bis zuviele cachemisses passieren), tiefenpuffer test an und equal skippen lassen, dass ganze dann noch möglichst klein auf der viewport rendern, so 1pixel und zu letzt durch ein vertexshader rotieren lassen.
Die Triangle werden alle durch die gesammte pipeline geschoben, können nicht raus optimiert werden aber shaded nur 1 triangle, skipped alle andere beim shading und damit gehst du an das vertex limit.

Auf den Karten gibt es Rechenwerke, die für shading und vertice gleichermaßen benutzt werden können aber in der regel sind die vertex operationen recht wenig und wesentlich einfacher als shading operationen und daher erreicht man das füllratenlimit wesentlich einfacher. Allerdings werden in games normalerweise keines der beiden limits erreicht, da die limits hier eher auf bus oder cpu seite liegen. Mit OpenGL4.2 ist zwar die Anzahl der API calls massive geschrumpft aber selbst dort liegt das bottleneck immer noch bei den bindings von buffern, texturen und shadern. Texturarrays, instancing, Geometryshader reduzieren diese calls aber sind auch um einiges komplexer. Nvidia bietet hierfür ne extension, die erlaubt das abfragen von den speicheradressen von opengl objekten und liefert ein neues objekt, in dem man diese addressen speichern kann. Man hat nur noch ein bind für das neue pointer holder Objekt statt den vbo, die texturen und shader zu binden. Das soll wohl so gut sein, dass es in den ARB und dann Core einziehen wird.

_________________
"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: XyEngine - Benchmark
BeitragVerfasst: Di Jun 14, 2011 12:08 
Offline
DGL Member

Registriert: Sa Jun 05, 2010 16:15
Beiträge: 94
@damadmax
Hab die Graphen selbst über PHP gemacht, wenn du willst kann ich dir das Script schicken ;).

@Lord Horazont
Jo is erledigt, btw. du kannst die Graphen auch skalieren (max. 5000x5000 Pixel), z. B.: http://xyross.de/bench/benchmark.php?id=17&width=1600&height=800&names=Pk3%20Thief


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 27 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.012s | 16 Queries | GZIP : On ]