Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

22.11.2010, 21:02

Beispielprogramme bei mir deutlich langsamer? (release)

Hallo Leute,

Wenn ich z.B. das Beispielprogramm aus Kapitel 3 "tbDirect3D" mit dem Wasser lade und kompiliere ist meine Version (release (auch dll!)) deutlich langsamer.
Die Version von der CD schafft ca. 320 FPS und meine "nur" ca. 250 FPS. Klar die Engine ist schon etwas veraltet, aber nur weil ich ein Bsp. neu kompiliere ist es doch nicht langsamer ?!
Habt ihr ne Idee woran das liegt?
Es stört mich jetzt nicht weiter, da es ja so oder so flüssig läuft, mich würde es aber nur interessieren, warum das auftritt.
Ich nutze übrigens VS C++ 2010 Express.

lg

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

2

23.11.2010, 15:11

Bist du sicher, dass nicht vllt noch irgendwas anderes im Hintergrund gelaufen ist, und deshalb dieser Performance-unterschied besteht?

Möglicherweise wurde beim compilen der buchversion besser optimiert. Du solltest vielleicht mal in den einstellungen nachgucken, unter welchen einstellungen in der releaseversion compiled wird.

3

23.11.2010, 16:35

Ja, da bin ich mir ziemlich sicher. Habe beide direkt hintereinander getestet.
Und selbst wenn, das würde kaum was ausmachen. Die Anwendung nutzt nur 1 Kern aus (von 4) und die Graka ist bei ~20-28% (GTX 470).
Das mit den Einstellungen hatte ich auch erst gedacht, allerdings habe ich direkt das Projekt geladen, welches auf der CD war und dann kompiliert.
Daher müssten die Einstellungen die selben sein.

Wenn ich beide nebeneinander laufen lasse, tritt das selbe Problem auf, sind auch etwa die selben FPS raten, wie wenn ich sie einzeln teste. Die Auslastung ist dabei natürlich höher.

Hast du noch ne Idee?

lg


EDIT:

Hätte da noch ne andere Frage:
Ich hab jetzt noch etwas mit dem Wasser rumgespielt und hätte gerne gewusst ob es möglich ist, diese "Löcher" (siehe Screenshot) weg zu bekommen.
Das das geht ist mir klar, nur geht das auch mit meinem Wissensstand?
Das entsteht, wenn die Kamera (fast) senkrecht auf die Wasseroberfläche gerichtet ist.
»Chaia*« hat folgendes Bild angehängt:
  • tbDirect3D 2010-11-23 17-46-51-10.jpg

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chaia*« (23.11.2010, 17:54)


4

23.11.2010, 18:10

/

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »E333« (02.09.2021, 10:23)


5

23.11.2010, 21:39

Okay, du hast Recht ein deutlicher Unterschied ist es nicht.
Da die FPS aber relativ konstant sind, ist er auf jeden Fall da.
Wenn das alles im Rahmen liegt, dann mach ich mir keine Gedanken darüber, aber ich hätte gerne halt gewusst, warum es denn langsamer läuft.
Ist ja der selbe Code etc. nur der Compiler ist ein anderer.
Liegt dann wohl an VC++ 2010 oder?
Naja gut, auch egal, weiß jemand etwas zu meinem anderen Problemchen (siehe meinen letzten Post) oder ist das zu hoch für mich?

lg

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

24.11.2010, 08:14

Deutlich Langsamer ist quatsch :P

Das muss durchaus kein Quatsch sein. Selbst wenn die Frametimes nur minimal unterschiedlich sind, so kann es trotzdem sein, dass durch andere Compiler-Optimierung das eine mit 320 und das andere mit 250 FPS läuft. Das als "Quatsch" hinzustellen finde ich als Quatsch.
Beide Programme nutzen den gleichen Code. Wäre er gleich kompiliert, dann würden beide die gleichen Frametimes und somit auch die gleichen FPS liefern. Überdenk deine Aussage also nochmal, solcher Unfug ist albern, denn selbst ein minimaler absoluter Unterschied in den Frametimes kann einen großen RELATIVEN Unterschied bedeuten, darüber denken aber die meiste "Nutzt-Frametimes-Fanatiker" überhaupt nicht nach. Und daher kommen dann eben plötzlich doch 70 FPS weniger bei rum, was durchaus massiv ist. Das sieht man auch schon an den 0.004s/0.003s (wahlweise natürlich an 320/250), die du da ausgerechnet hast. Das eine ist immerhin 33% mehr als das andere, das ist sehr viel.

@Chaia*:
Da wirst du wohl mit irgend einer anderen Optimierung-Einstellung kompiliert haben oder der Compiler ist einfach nich so Bombe wie der aus der kompilierten Version. Ich glaube allerdings eher an ersteres.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »BlueCobold« (24.11.2010, 08:22)


7

24.11.2010, 12:18

Aber ich habe doch direkt das Projekt geladen, welches auf der CD war. Ist da dann nicht schon alles eingestellt?

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

8

24.11.2010, 13:21

Ich glaube, das langsamere Projekt wurde im Debug-Modus und das schnellere im Release-Modus kompiliert.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

24.11.2010, 13:33

Entweder das oder das Projekt enthält Compiler-Flags, die VS2010 eben nicht mehr kennt, bzw. vielleicht verwendet VS2010 andere. Hab' mich damit bisher nicht auseinandergesetzt, also nicht hauen, falls sie noch gleich sind ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

10

24.11.2010, 15:26

nein, habe es wie oben geschrieben im Release Modus kompiliert.
Im Debug Modus hatte es ca. 40-50 FPS, wenn ich mich rech erinnere.
Jedenfalls waren sie deutlich niedriger im Debug Modus.

Werbeanzeige