How hung up should I be on frames per second?

I think it would depend on the game, if its a passive game that doesnt really need alot of input lets say a turret defence then I thik it could be lower than 30 fps but if its some kind of twicth based game like a bullet hell ( or whatever) then its probably going to need a 60 fps - or more. I bet the pro gamers, starcraft players will need a high-framerate as possible because every milisecond counts when they are micromanaging all those units.

Yep… non-action or turn-based games can get by a little better with lower framerates in terms of playability, but it’s not what you should be aiming for.

Wow, quite a healthy discussion here. Thanks for the input guys.

My game is a racing game, with some shooting (no bullets, just raycast) for mobile devices, minimum iPhone 4s.

At the moment I’ve got the target fps set to 60, would I be better switching it back to the default 30?

For a racing game? Target 60, especially since you plan on having shooting. With your minimum target being the iPhone 4S, you should be in a good position to be able to hit that.

Don’t use FPS figures, use SPF figures. They’re much less misleading.

For example, say that you write a feature that consumes 2ms of frame time. If you test it when your initial frame rate is 30FPS, your rate will drop to 28FPS, which doesn’t seem bad, right? Only a 2FPS drop. But if you test it when your initial rate is 60FPS, you’ll see a drop to 53FPS - a 7FPS drop. It’s the same amount of work either way, but because of the way you’re measuring it you’ll get different numbers for it depending on what else is going on, which a measurement should not be contingent upon. Using SPF makes it much easier to reason about relative costs and alternative implementations.

If you want to hit a target of 60FPS, you’ve got 16.6ms/frame to spend. If you want 30FPS, you’ve got 33.3ms.

By the way how to you computer the fps in unity ? I have heard that you can’t just use a average of Time.deltaTime.

At the moment, iPhone 5 doesn’t hit 60fps.

how about no, just multiple it by 1/x… your maths teacher is not amused by your reckless rounding

I think it depends on the type of game, if it’s an action game requiring skill/quick reflex controls you would prefer it run at 50-60fps or higher. It may not totally be necessary but it’s a perceptual thing.

I’m not sure how I’m going to get that kind of performance yet. I’m doing all the obvious stuff like occlusion culling and static/dynamic batching.

How did nobody bring up motion blur during the movie framerate debate? Movie framerates and game framerates are not even remotely comparable; an organic eye doesn’t see in discrete frames, it sees continuous delta changes. 24 FPS with decent motion blurring is perceived as significantly smoother than 30 FPS with no motion blurring (and, if you’re dropping to 30fps - either living with screen tearing or an even lower actual monitor frame rate due to v-sync). The Air Force tested this by flashing a picture of an aircraft in a dark room for 1/220th of a second - almost all pilots were consistently able to identify the aircraft in question. There’s absolutely no answer to the question of how many frames per second the human eye can perceive - it varies wildly based on all sorts of factors. What we can answer, however, is how many frames per second it takes for most people to see movement as smooth enough to be enjoyable. The industry by and large has decided that number is 30FPS.

You have to remember that a very large component of why you should target 30FPS minimum is because everyone else is doing the same thing. The number doesn’t have to be right or wrong, it has to be consistent. I game primarily on a beast of a computer - anything lower than 60 FPS is very noticeable to me because I’m not used to it. Someone who’s primarily gaming on a minimum-spec machine is used to playing at 30FPS (because that’s what everyone is trying to deliver them) - if you’re game is running at 30FPS you’ll deliver the experience they expected. If you’re constantly dropping to 15FPS it’s going to look like crud to the min-spec crowd.

Anyhow, throw my hat into the ring of “shoot for 30FPS minimum on your minimum targeted machine.” Anything below 30 FPS is very noticeable, and assume that a huge portion of the machines that meet your minimum specs are going to perform worse than your nearly identical testing machine (likely because the user has 600 screensaver and custom-cursor applications running).

I’d really suggest reading an article on what how v-sync actually works too, it’s pretty critical when you get that low on the FPS scale.
http://www.tweakguides.com/Graphics_8.html

http://www.100fps.com/how_many_frames_can_humans_see.htm

I already had brought up all of this including the 100fps link :). Needless to say, I agree with most of what you stated, anyway.

@Ice: Wow, not sure how I missed that. Sorry about that :smile:

These arguments (and the “FAQ” noted above, which uses the game “Quake” as it’s example) appear to be from the 90’s. If a movie can give you a good sense of motion at 24fps (which is nothing more than a projection of static frames), any video card for the last 10 years can as well, and better - I don’t think anyone is running a Riva 128 anymore - we can do motion blur. Getting a higher FPS is not better than providing a good experience, especially if you have to sacrifice the user experience to get the higher frame rate.

In the end, it’s all about the user experience. If it sucks, it doesn’t matter to the user that it’s 240fps. If it’s great, they won’t care that it’s at 30fps.

Can anyone shed some light on this please? No idea what I should be looking for?

/doh

goddamnifail@maths…

all bs aside, you should aim for 30fps min… if it dips below, so be it. I remember playing CS which would drop to 16fps at times, not for long, but it happened. Wasnt the end of the world, but it wasnt ideal either.

Which is converting to SPF. What’s the point of repeatedly doing that when you could just use SPF in the first place?

Look at the ‘Time ms’ column.

If you’re targetting 60FPS, you’ve got 16.6ms to spend - between rendering (11.52ms), your 91 Playmaker updates (4.28ms), and your 8 wheels (3.21ms over 3 physics steps) you’ve already blown that budget (19.01ms). That’s without everything else.

30FPS is more reasonable, as that gives you 33.3ms to spend, and you’re presently at 39.07, so you only need to shave off around 6ms to hit that (ideally more because 39.07 isn’t your highest frametime in that sample).

Is this profiling a build (that’s running on the target spec machine / on the device), or in the editor? If it’s in the editor then it’s possible you can write off at least some of the Overhead time as the overhead is much lower on-device, leaving you with only about 2ms to claim back. The most expensive thing is rendering, so you could try turning on Static Batching, or setting up Occlusion Culling, and see if that cuts the drawing time down. Failing that, you can work on optimizing your Playmaker FSMs.

Yeah well they are slowly switching to 48 fps now

Is the profiler hooked up to an iOS device or your computer in that screenshot? The Drawing time seems a bit slow. Maybe a fill rate problem?