Red Dead Redemption 2, Officiella speltråden – Allmän diskussion / Guide / Spelare / Frågor

Ambassadör
Xbox
Skrivet av Nemo:

Det är väldigt intressant teknik det där. Jag tänkte läsa hur det funkar i detalj — exakt vad är det för trick som åstadkommer FPS-boosten i ett existerande spel? Jag lyckades dock inte hitta något utan enbart spekulationer och gissningar här och där på nätet (eller så var min google-fu inte så stark idag 😁).

Vet du om det finns någon officiell teknisk spec på FPS Boost? Det vore väldigt intressant att ta en titt på den (jag är utvecklare själv så det är alltid kul att studera andras kod och lösningar 🙂).

Nej jag har inte sett något. Förmodar att det är lite hysch-hysch, eller bara jäkligt nischat Det finns en del intervjuer med Jason Ronald (Skäggmannen) som går igenom lite mer.

Det här är den bästa förklaringen jag fått:

"Rough summary is there is an API Call used by most DirectX games that synchronizes the game to certain periods. FPSBoost replaces the original time cycle value with a different one.

Think of the game doing the following things

Record the current time before doing any work
Perform all game logic and graphics for a frame
Record the current time after doing any work
Calculate the amount of time to SLEEP/Wait/Do Nothing until the next regular periodic game cycle
Go to Step 1.
Step 4 is roughly doing the following:

Game Cycle is one of the following (1/30th, 1/60th, 1/120th of a second)

Time spent working: TimeStamp 3 - TimeStamp 1

Time to Sleep: Game Cycle - Time Spent Working

What FPS Boost does is essentially replace the initial Game Cycle with something else so it runs faster. If the game was 30fps and is boosted to 60fps then Cycle of 1/30th of a second is replaced with 1/60th. Boosting from 60fps to 120fps replaces 1/60th to 1/120th.

Since the game is sleeping/waiting/doing nothing for less time, it operates faster."

There are actually two ways of doing this:

1. Fool the framedraw logic into following a virtual clock. The virtual clock operates faster so that you get the game to operate on a faster setup while it still thinks it is doimg 30fps. Of course, you need certain key frames to hit at the same time as earlier.

2. Keep the framedraw budget time the same as earlier (32ms), but instead draw your own interpolatef frame every 16ms or 8ms to give a 60fps or 120fps effect. This requires Deep Learning.


Jump in.

Medlem

@Mortaigne: strålande, mycket bra info! Då vet jag ungefär vad tricket innebär och vad som krävs för att det ska fungera.

Det funkar inte i vissa spel läste jag, vilket antagligen beror på att de har en egen variant av Game Cycle där ovanstående inte går att använda.

Ambassadör
Xbox
Skrivet av Nemo:

@Mortaigne: strålande, mycket bra info! Då vet jag ungefär vad tricket innebär och vad som krävs för att det ska fungera.

Det funkar inte i vissa spel läste jag, vilket antagligen beror på att de har en egen variant av Game Cycle där ovanstående inte går att använda.

Ja det fungerar inte med alla. Jag är inte så väldigt insatt, men det är tydligen lite magi inblandat också


Jump in.

Skriv svar