xbox-scene.com - your xbox news information source
Quick Links: Main Forums | Xbox360 Forums | Xbox1 Forums | PS3 Forums
Xbox-Scene Forum Help  Search Xbox-Scene Forums   Xbox-Scene Forum Members   Xbox-Scene Calendar

Special Limited Offer: SuperNews Unlimited Usenet Access, Unlimited Speed for $11.99
256-bit SSL, 350 Days Retention, 30 Connections - Join Today! - ONLY $11.99

Support this site - buy the X-Scene Tshirt $17.95

Welcome Guest ( Log In | Register )

 Forum Rules Rules
 
Reply to this topicStart new topic
> Frame Rate And The Reasons Behind It, brief as possible description of modern day fps issues.
m_hael
post Dec 11 2005, 03:33 AM
Post #1


X-S Freak
*****

Group: Members
Posts: 1104
Joined: 23-December 03
From: Chicago, Illinois
Member No.: 84709
Xbox Version: v1.4
360 version: v1 (xenon)





I meant this as a short post on xbox.com however it exploded to slightly more than I intended. I thought someone here might find the information herein interesting and even helpful

-------------------------------

The way the "refresh" for a game works is linked to the way a TV refreshes the image in its screen... Lets take the example of NTSC standard CRT TV in 480i @ 60hz.

Once every 1/60th of a second (16.6ms) the TV will update the image on the screen from an internal buffer. TV's have only 1 buffer for storing the image so it is important that the image be changed during the point when the CRT is moving from the bottom scanline to the top scanline. This is called the vertical sync (vsync) and its a very small amount of time however changing the image takes only a small amount of time so things work out fine.

Now a game generates the image to replace the buffer within the TV, in order to hit 60 fps the game must present a new image exactly once every 16.6ms assuming that the first presented image occured exactly when the TV hit the vsync. If this is done then the game will run buttery smooth to the eye and you will see ZERO tearing.

Based upon this a game have 16.6ms to generate that new image in order to maintain 60fps OR it could present a new image at half that rate (every 33.3ms) and still see no tearing as it would hit every second vsync.

If your game frame takes 15ms to render then you easily run @ 60fps however if your game frame takes 17ms to render then you don't hit 60fps and in order to not see tearing you MUST wait until the next vsync which essentially means you run @ 30fps.

The reason some games seem to run at variable fps but still have no tearing is that this vsync occurs regardless, thus when you look at a wall with nothing but the wall rendering the frame takes no time and presents @ full 60fps but when you look over that valley vista and you're rendering 10bajillion pixels it takes a LONG time to render and thus the game presents @ a lower rate (60,30,15...).

The reason some games show a variance of fps outside of 60,30,15... is also easily explained... imagine the above situation where one frame renders in 15ms and the next in 17ms... well hardware like the 360 has leeway within the sync functions that essentially provides a window of opportunity during which to present a frame. If the TV image is presented while the TV is drawing the top say 40 scanlines you WILL NOT see the update happen (its OFF the visible screen) and so a window of 40 scanlines (8.3%) is a perfectly window of opportunity during which to present. This essentially allows the programmer 17.9 ms to render his frame before the hardware will wait for the next vsync and reduce to 30fps. This method however creates a push effect where the next frame WILL be late because the previous frame took too long and eventually the frame rate will stutter and re-sync.

The reason some games show massive variance and LOTS of tearing is because they set the window of opportunity too wide (say 40%) and thus they allow 23.4ms to render the frame... again this results in the push issue and the tear MOVES down the screen until it wraps around reduces to 30fps momentarily and then the circle starts again. This is BAD however it is also the most common form of adjustment when a project is GPU wise overbudget (aka GPU bound) for whatever reason (normally rushed by publishers or badly designed).

NFS:MW exhibits the final description and THAT is the reason for the slight judder in the frame rate every 10 seconds or so... the push issue wraps around.


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Foe-hammer
post Dec 11 2005, 10:58 AM
Post #2


X-S Messiah
*******

Group: Moderator
Posts: 3403
Joined: 1-April 03
From: Wyoming
Member No.: 29614
Xbox Version: v1.0
360 version: v1 (xenon)





Not to mention, PDZ. dry.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Deftech
post Dec 12 2005, 08:20 PM
Post #3


X-S Transcendental
**********

Group: XS-BANNED
Posts: 6917
Joined: 28-January 05
Member No.: 193087
Xbox Version: v1.4
360 version: v1 (xenon)



Thanks for posting this smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
KAGE360
post Dec 12 2005, 08:20 PM
Post #4


X-S Messiah
*******

Group: Moderator
Posts: 3172
Joined: 26-May 05
Member No.: 223440
Xbox Version: unk
360 version: unknown



good read, thanks for taking any time away to explain the inside of game development. im sure there are plenty like me who are always interested how things are done in game development. hope to hear more from you soon. smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
prankfurter
post Dec 13 2005, 05:15 AM
Post #5


X-S Expert
***

Group: Members
Posts: 545
Joined: 25-February 05
From: Saskatoon, SK, Canada
Member No.: 201621
Xbox Version: v1.6
360 version: v1 (xenon)





great post.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
m_hael
post Dec 13 2005, 08:31 AM
Post #6


X-S Freak
*****

Group: Members
Posts: 1104
Joined: 23-December 03
From: Chicago, Illinois
Member No.: 84709
Xbox Version: v1.4
360 version: v1 (xenon)





QUOTE(KAGE360 @ Dec 12 2005, 11:27 AM) *

good read, thanks for taking any time away to explain the inside of game development. im sure there are plenty like me who are always interested how things are done in game development. hope to hear more from you soon. smile.gif



you're entirely welcome... I can answer any questions that don't break NDA with Sony/MS so anything regarding general "gaming" or "engines", how effects are achieved etc.... if you do ask tho I'd prefer it by PM and then I can judge whether it can be answered legally.

This post has been edited by m_hael: Dec 13 2005, 08:33 AM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Heet
post Dec 13 2005, 08:47 AM
Post #7


X-S Knowledgebase
********

Group: Moderator
Posts: 4951
Joined: 17-September 02
From: Gainesville, FL
Member No.: 3918
Xbox Version: v1.3
360 version: v2 (zephyr)



Good read dude, thanks.


Hope they fix Oblivion.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
maxlifo
post Dec 13 2005, 12:30 PM
Post #8


X-S Senior Member
**

Group: Members
Posts: 186
Joined: 5-May 04
Member No.: 118285
Xbox Version: v1.1
360 version: v1 (xenon)






Good read M Hael. Thanks for the knowledge wink.gif

Certainly explains why I'm seeing so much tearing on PDZ and the goddawful NFS demo.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post





Reply to this topicStart new topic

 

Lo-Fi Version Time is now: 22nd November 2009 - 12:20 AM