I'm not sure what Jiriki's method is for the graph, but this is how I made mine. It's an annoying process, which is why I didn't post it before, but maybe Jiriki has a better one. I had some time on my hands and always liked these types of charts for FPS. (more telling than min/avg/max) I'm not a spreadsheet guru. I barely ever use them. 1) benchmarked using FRAPS frametimes 2) stripped spaces from the csv output (those spaces caused problems in my spreadsheet) 3) imported csv into spreadsheet 4) converted frametimes to FPS, for readability (eg. =1000/(B3-B2)) -- subtracts the previous frametime from the current one, then divides 1000 by the result 5) use the FREQUENCY function on the FPS column you got in (4) with "classes" set to the first column values of 1-100 (eg. {=FREQUENCY(C3:C2643,A2:A101)}) 6) setup a chart for the FREQUENCY column 7) AVERAGE the FREQUENCY column for the orange bar
Here's an example. You can use this to help create your own, if you're still interested. <a href="http://dl.dropbox.com/u/9856661/ns2%20frametimes.ods" target="_blank">http://dl.dropbox.com/u/9856661/ns2%20frametimes.ods</a> (I used LibreOffice, a fork of OpenOffice)
Or you could python magic ;). Here with a binning of 5fps:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>binning = 5 lines = sorted([int(int(l[:-1])/binning)*binning for l in open("ns2 2010-11-27 09-59-09-01 fps.csv").readlines()[1:]]) for i in sorted([(x, lines.count(x)) for x in set(lines)]): open("histogram.txt", 'a').write(str(i[0]) + '\t' + str(i[1]) + '\n')</div>
Comments
<img src="http://i.imgur.com/IB1rP.jpg" border="0" class="linked-image" />
6gb ddr3
5970 850/1100mhz
20-50fps
average is around 35fps, its hard to play like that.
playing in a 4v4 server
1) benchmarked using FRAPS frametimes
2) stripped spaces from the csv output (those spaces caused problems in my spreadsheet)
3) imported csv into spreadsheet
4) converted frametimes to FPS, for readability (eg. =1000/(B3-B2)) -- subtracts the previous frametime from the current one, then divides 1000 by the result
5) use the FREQUENCY function on the FPS column you got in (4) with "classes" set to the first column values of 1-100 (eg. {=FREQUENCY(C3:C2643,A2:A101)})
6) setup a chart for the FREQUENCY column
7) AVERAGE the FREQUENCY column for the orange bar
Here's an example. You can use this to help create your own, if you're still interested.
<a href="http://dl.dropbox.com/u/9856661/ns2%20frametimes.ods" target="_blank">http://dl.dropbox.com/u/9856661/ns2%20frametimes.ods</a>
(I used LibreOffice, a fork of OpenOffice)
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>binning = 5
lines = sorted([int(int(l[:-1])/binning)*binning for l in open("ns2 2010-11-27 09-59-09-01 fps.csv").readlines()[1:]])
for i in sorted([(x, lines.count(x)) for x in set(lines)]):
open("histogram.txt", 'a').write(str(i[0]) + '\t' + str(i[1]) + '\n')</div>
Align, yeah. Just running around in rockdown shooting randomly. Because FPS is calculated for each frame, theres more variation.
RAM:6GB Corsair Triple Channel DDR3
Motherboard: MSI x58 Platinum SLI
GFX Card: EVGA 9800 GTX+ Superclocked 512mb SLI
OS: Windows 7 Professional, 64-bit.
Minimum FPS: 3
Average FPS: 30
Max FPS: 45
Graphics set on lowest settings. 800x600
Build 157