The 1000fps Grade (v1.0)

The 1000fps rating is a practical way to quantify how your software will run on low end hardware. Considering most developer workstations have better hardware than most PC players, games developed for the PC end up performing worse for people who do not own, cannot afford, or do not want to invest in upper high or enthusiast grade hardware

Assume that the application you are developing qualifies the 1000fps rating in any expected combination of graphics settings and video modes. Then you can be confident in your code to perform decently on low end hardware. Otherwise, the lower your rating is, the worse the experience will be for those people who are less fortunate.

Prerequisites

Test Method

  1. Run the application under test.
  2. Configure the application into a best performance state which does not degrade the usage/gameplay experience significantly.
  3. Load up the demo scene you prepared earlier.
  4. Begin collecting frame time information through your method of choice. Record all frame times. Preferably into a low overhead file type such as CSV.
  5. Use the application/play the game as intended.
  6. Finish data collection after 5 minutes of time.

Calculating the Results

Let the evaluation function \(F(x)\) be such that \[ F(x) = m\ln(x) + b \] where \( m = 1.0604\), \(b = -3.3237\) and \(\ln(x)\) is the natural logarithm of \(x\).

From your sample set, calculate the mean frame time \(\mu\) as well as the standard deviation of the sample set \(\sigma\). Let \(x_0 = \mu+2\sigma\) be the slow frame time. Further let \(Med\) be the median frame time. Use seconds as the frame time unit.

Then the raw median score \(Y = F(1/Med)\) and slow down score \(y = F(1/x_0)\). Incur additional score penalties from the following table, if the conditions satisfy.

Condition Penalty
Application client area is less than 1920x1080. 1pts
The application has any human observable stutters during active gameplay. 1pts
Any audible audio glitches. 1pts
Application client area is less than 1280x720. 5pts (disqualify)

Finally assign a letter grade according to the table below:

Letter Grade Minimum Score Maximum Frame Time Minimum FPS
A 4 1.00 ms 999 fps
B 3 2.57 ms 389 fps
C 2 6.60 ms 152 fps
D 1 16.95 ms 59 fps
F -0.15 50.14 ms 20 fps
FF - rarely next frame

Need help? Use the report card generator below.

Report Card


(10 MB Max.)

x


* Required Fields

Special thanks to the OpenTK community, and open source technologies used in this silly web page.

Leaderboards

Future?