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

21

14.03.2009, 19:07

Zitat von »"TrikkieMikkie"«

PCShadow
Tipp: Anführungszeichen (URL in deiner Sig) weglassen

hatte ich auch zuerst ohne anführungszeichen, hat auch nicht geklappt, jetz hab ich wieder ohne, was dem gefehlt hat, war ein http:// am anfang :?

EDIT: und http:// wird automatisch verlinkt, obwohls nirgendwo hinführt :lol:

Käsekönig

1x Contest-Sieger

  • »Käsekönig« ist der Autor dieses Themas
  • Private Nachricht senden

22

14.03.2009, 20:26

Dann müsst ich aber VSync eigentlich nur deaktivieren, damit das funktioniert!?
Grundsätzlich ist es ja anscheinend aktiviert, hat das einen Vorteil?

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

23

14.03.2009, 20:32

Einige, wohl vornehmlich ältere, Flachbildschirme neigen zum sogenannten "Tearing" wenn man VSync deaktiviert. Das ist, soweit ich weiß, der Hauptgrund. Aber dazu würde ich dir eine Runde googlen empfehlen ;)

Als netten Nebeneffekt würde ich ansehen, dass man ja nicht zwingend mehr FPS raushauen muss, als der Monitor beherrscht. Ich weiß, CSler schwören auf ihre 100 FPS, aber bei den meisten Spielen sollte das nicht notwendig sein.

Käsekönig

1x Contest-Sieger

  • »Käsekönig« ist der Autor dieses Themas
  • Private Nachricht senden

24

14.03.2009, 21:27

Ja, ist klar! Es ist ja überhaupt nicht nötig, das mit so vielen Frames laufen zu lassen! Man sieht ja eh nicht so viele mit freiem Auge!

Allerdings würde es mich einfach mal interessieren, wie schnell so eine Anwendung ist! Nur das kann ich ja scheinbar nicht so einfach verwirklichen!? :?

25

14.03.2009, 21:34

In der InitDirect3D.cpp kannst du folgende Zeile ändern:

C-/C++-Quelltext

1
2
3
4
5
// Aus 

PresentParams.PresentationInterval = pParameters->bWindowed ? D3DPRESENT_INTERVAL_IMMEDIATE : D3DPRESENT_INTERVAL_ONE;

// Mach

PresentParams.PresentationInterval = pParameters->bWindowed ? D3DPRESENT_INTERVAL_IMMEDIATE : D3DPRESENT_INTERVAL_IMMEDIATE;


Allerdings würde ich nicht bei jedem Frame irgendwas in die Log schreiben.
fka tm

Käsekönig

1x Contest-Sieger

  • »Käsekönig« ist der Autor dieses Themas
  • Private Nachricht senden

26

14.03.2009, 21:42

Ok, danke das hab ich jetzt geändert!! Jetzt funktioniert das mal mit so ca. 230 FPS!

Das mit der Logbuchdatei dürfte ja nicht so schwierig sein! ;) Das kann ich jetzt dann noch ändern auf alle 5 Sekunden oder so!

Ich hab auch schon gegoogelt wegen dem "Tearing" das da entsteht, wenn man das umändert! Allerdings ist mir jetzt nicht ganz klar, ob das jetzt einen Nachteil hat!? Soweit ich das verstanden hab, hängt das vom Monitor ab!

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

27

15.03.2009, 01:56

Wenn VSync aktiviert ist, wartet der PC mit dem kopieren des Back-Buffers in den sichtbaren Speicher einfach, bis der Bildschirm den sichtbaren fertig angezeigt hat. Ist VSync aus, passiert das nicht und es kann z.B. bei schnellen Bewegungen passieren, dass du kurz auf dem Bildschirm einen Teil vom alten und einen vom neuen Frame siehst. Wenn die Framerate natürlich wesentlich höher ist wie die Bildwiederholfrequenz werden dabei ein paar Frames übersprungen. Wenn dir also mal jemand erzählt, er könne nur mit 200 FPS gamen, dann darfst du laut lachen ;-)

Nachteil: Soweit ich weiß halbiert sich die Framerate, wenn sie nicht mindestens = der Bildwiederholfrequenz ist. Hab ich mal gelesen, kam mir aber auch komisch vor und eine Erklärung wurde nicht abgegeben.

Zum testen ist es ganz nützlich, VSync mal auszumachen, damit man sieht, wie viele FPS der Code wirklich erreicht und ob man noch optimieren sollte (denn nicht jeder hat das gleiche System). Zum Spielen sollte man es denke ich anschalten, einfach wegen der Qualität.

Hoffe, ich habe zu solch später Stunde nicht noch Müll erzählt, gute Nacht,

Socke

28

15.03.2009, 11:24

Zitat von »"Faule Socke"«

Nachteil: Soweit ich weiß halbiert sich die Framerate, wenn sie nicht mindestens = der Bildwiederholfrequenz ist. Hab ich mal gelesen, kam mir aber auch komisch vor und eine Erklärung wurde nicht abgegeben.

meine Vermutung: Frame 1 des Spiels fällt genau mit Frame 1 des bildschirms zusammen. Frame 2 des Spiels verpasst aber Frame 2 des Bildschirms und muss auf Frame 3 warten. Und so weiter und so fort. Das stimmt aber auch nur, wenn VSync aktiviert ist.

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

29

15.03.2009, 12:09

Käsekönig: Zur Lösung deines Problems könntest du die VSync Einstellung einfach dem Benutzer überlassen, wenn du dann Spiele entwickelst, die du auch rausgibst ;-)

Socke

Käsekönig

1x Contest-Sieger

  • »Käsekönig« ist der Autor dieses Themas
  • Private Nachricht senden

30

15.03.2009, 13:45

Danke an alle, die mir geholfen haben, besonsderen Dank Faule Socke für seine Erklärungen!! Hat mir sehr weitergeholfen!
Allerdings auch Dankeschön an alle Anderen! ;)

Werbeanzeige