JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=1e0b138bc9c67b3dd942dd0af04cfc4bMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Ein paar kleine Fragen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
User_User
JLI'ler



Anmeldedatum: 05.08.2004
Beiträge: 137

Medaillen: Keine

BeitragVerfasst am: 29.01.2006, 15:21    Titel: Ein paar kleine Fragen Antworten mit Zitat

Ich habe mir die Codebeispiele des DirectX Sample-Browser-Tutorials angeschaut(Tutorial 4 Lights). Dabei fielen mir einige wenige kleinere Unterschiede (zum Buch) auf.

1) Es wird der Performancecounter nicht verwendet (sondern die timeGetTime()-Funktion).

Frage: Welche Computer haben diesen Performancecounter denn eigentlich nicht?

2) Beim Programmende wird die Funktion UnregisterClass() aufgerufen.

Frage: Ist es egal, ob ich diesen Aufruf weglasse?

3) Bevor eine Matrix z.B. für eine Rotation mithilfe der Funktion D3DXMatrixRotationX() verwendet wird, wird vorher immer die D3DXMatrixIdentity()-Funktion verwendet. Wenn ich diese Funktion auskommentiere, stelle ich bei der Ausführung keinen Unterschied fest.

Warum wird im Tutorial diese Funktion verwendet (und im Buch nicht)?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 29.01.2006, 17:12    Titel: Antworten mit Zitat

ob du Performance Counter oder timeGetTime benutzt ist glaub ich relativ egal, der einzige unterschied ist glaube ich das Performance Counter ein wenig genauer ist, aber dafür nicht überall verfügbar.

UnregisterClass ist quasi das gegenteil von RegisterClassEx. Ich weiß nciht in wie weit es beim Beenden nicht sowieso geschieht, also ob man es weglassen kann ode nicht, aber da es net schadet kann man das einfach imemr benutzen, und gut ist.

MatrixIdentitiy ist sowas ähnliches wie das man Variablen vorher auf 0 setzt. Kann in manchen Situaionen wichtig sein, da es zu Fehlern kommen könnte, aber normalerweise halt net, muss man halt selber entscheiden. Dann vielleich lieber auf Nummer sicher gehen und woanders optimeiren.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 29.01.2006, 17:21    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
ob du Performance Counter oder timeGetTime benutzt ist glaub ich relativ egal, der einzige unterschied ist glaube ich das Performance Counter ein wenig genauer ist, aber dafür nicht überall verfügbar.


Das ist ganz und gar nicht immer egal. Der Performance Counter ist i.d.R. mit 3,19Mhz getaktet, timeGetTime() arbeitet so gesehen mit 1000Hz.
Schreib dir mal 'nen anständigen Profiler, da zieh ich den Performance Counter aber 1000x vor.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 29.01.2006, 19:00    Titel: Antworten mit Zitat

joah Performance counter ist 3 mal so genau, aber für ne Spielshcleife ist 1000Hz auch ok, wie ich finde. Ich hatte noch nie Probleme damit.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
OLiver
Super JLI'ler


Alter: 33
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 29.01.2006, 19:19    Titel: Antworten mit Zitat

Ich hatte schon oft Probleme damit, besonders bei Bewegungen, wenn du also die Differnz zur letzten Zeit berechnest und dann entsprechend bewegst. Bei timeGetTime() ruckelt es da immer, weil es noch nicht mal auf die Millisekunde wirklich genau ist.
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 29.01.2006, 19:49    Titel: Antworten mit Zitat

Das kann ich mir eigentlich nicht vorstellen, das es ruckelt. Bei mir klappts eigentlich immer. Wenn man zum Beispiel ne Framerate von ca. 50 hat, wer merkt dann obs 49,95 oder 50,04 (die maximale Differenz zwischenden beiden Methoden, rechnerisch) ist?
Und ruckeln beduetet doch das es stock? Es dürfte höchstens eine minimal ungelichmäßige Bewegung sein.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
OLiver
Super JLI'ler


Alter: 33
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 30.01.2006, 12:50    Titel: Antworten mit Zitat

ja, eine ungleiche Bewegung mein ich ja. Es "vibriert" dann sozusagen. Wink
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum