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

Aktuelle Zeit: Fr Jul 04, 2025 10:04

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



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 13, 2003 23:43 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wenn du die Zeit exakt messen willst, solltest du dir mal in der API-Hilfe die Funktion QueryPerformanceCounter ansehen (und im Zusammenhang damit auch QueryPerformanceFrequency).Die ist nämlich perfekt für die genaue Zeitmessung gedacht und nutzt einen hochpräzisen Timer.

P.S. : Im Forum hab ich schon einige male etwas zu diesem Thema gepostet, bin aber zu faul das Ganze um die Uhrzeit noch genauer zu erklären :D , benutz also mal die Suchfunktion.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 14, 2003 08:12 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Zitat:
Aus irgendeiner mir unerklärlichen Weise versucht diese Schleife mit Erfolg, etwa 90 fps einzuhalten.

Kann es sein, dass du VSync eingeschalten hast und dein Monitor rein zufällig mit 90 Hz läuft?
Wenn ja dann ist das vollkommen normal.

Zitat:
Jetzt will ich aber die ganze Physik (Kollisionen etc.) von der Anzeigeschleife abkoppeln und in eine neue, unabhängige Schleife packen, die mit ähnlicher Frequenz läuft.

Warum willst du sie denn überhaupt abkoppeln?

Es gäbe (jetzt so auf die schnelle) 2 möglichkeiten für dein Problem.
1. Du lagerst deine Berechnungen in einen anderen Tread aus.
2. Du berechnest die Physik am anfang der Renderschleife.

Ich persönlich wäre eher für 2tens.
Kollisionen von den Zeichnen (Bewegen) der Objekte loszulösen wäre nicht sinnvoll, weil du diese Berechnungen (sofern sich das objekt bewegt) für jedes Frame aufführen musst. Und der zweite Punkt der dafür spricht ist. Es ist wesentlich einfacher zu programmieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 14, 2003 13:42 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Du musst jedoch nicht in jedem Renderdurchlauf alles berechnen, sondern nür z.B. in jedem zweiten. Das bringt Geschwindigkeit wirkt sich aber kaum auf das Spiel auf (zumindest merkst du es nicht)

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 14, 2003 14:49 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Okay. Das mit der KI ist natürlich ein Grund.

Zitat:
Vielleicht bin ich noch nicht so weit.

Wie lange entwickelst du denn schon?

Zitat:
Naja, es sei denn, jemand erzählt mir, wie man getrennte Treads aufsetzt... :)

Ich glaube das ließe sich einrichten. Wenn mein Tutorial fertig und einer der lieben Admins es für mich hochladen würde, dann wäre das auch erledigt. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 15, 2003 13:44 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Guest hat geschrieben:
Eine jener Ideen ist, gleich von vorneherein mehrere Schleifen parallel laufen zu lassen, weil das Chaos mit einer einzigen Schleife irgendwann nicht mehr zu bewältigen ist (wie beim 'alten' Spiel).


Ja. Das ist eines der Hauptprobleme. Und früher oder Später muss da halt was anständiges her.

Weswegen ich aber gefragt habe. Ich wollte nur wissen, ob du die Grundzüge vom Programmieren verstanden hast.
Es nützt ja nichts, wenn ich dir hier einen von Multithreading erzähle du aber keinen blassen von Programmieren hast!

Und genau darum geht es in dem Tutorial. Um Multithreading. Wie kann ich Threads erstellen. Was sind sie überhaupt und worauf muss ich achten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 19, 2003 09:18 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
So das Tutorial ist fertsch. Noch mal dank an Phobeus für schnelle uploaden.
:D


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 17 Queries | GZIP : On ]