Measuring GGPOFBA Micro Stutter

There’s been talk over the years about frame skip / micro stutter in Windows 7 versus a smooth experience in XP. There’s a way that I found today where you measure micro stutter via frame time analysis.

Here’s a FRAPs Bench Viewer output of ggpofba frametimes over around 5mins of play on my Windows 7 machine:

http://img13.imageshack.us/img13/3306/oxf6.png

You can see that overall it’s very consistent however there are on occasion very large spikes once every minute which may or may not be noticeable while playing. I don’t have a way to run the same test but I suspect XP will be more stable and I’m curious if there’s any difference with other operating systems like Vista and 8. I’m wondering if you guys could post your results and setups so we can see what’s going on.

The test is easily performed using FRAPs and FRAPs Bench Viewer as follows:

Part 1 - Creating the benchmark data files:

Go to the Fraps FPS tab:
1. set up an output folder
2. set up a hotkey
3. Benchmark settings:
a. Frametimes = ON
b. others = don’t care

**Part 2 - Run the Test **

Navigate to your GGPO install directory and launch **ggpofba.exe**. Run a demo file by going to Game > Replay input or simply spectate a live GGPO game instead. Press the FRAPs hotkey to begin the benchmark. Press the hotkey again after around minutes of play to stop the benchmark.

Part 3 - Viewing the benchmark data files:

The files created by Fraps are "CSV" or "comma separated values," which can be easily opened in any spreadsheet program. Fraps Bench Viewer performs some basic analysis and visual presentation for ease of use.

To view a Fraps “* frametimes.csv” file in Fraps Bench Viewer, drag the file onto the open program window or onto the application icon.

After a few moments of processing, you will see a chart. You have a choice of three ways to view the data:
  • Time, FPS or Rank. Time is what we’re interested in to see the Frame Time results.

**Part 4 -Take a screenshot of your chart and reply here. **

-dela

wow. a frame being displayed for 40-60 ms every minute? i don’t think that happened when i was on win7 or now that i’m on win 8…

I would do the test with tinyXP on my laptop but my monitor died during the summer.

I did another test under identical settings in Windows 7 of the following FBA versions:

*Left: FBA v0.2.97.29 x64 (latest build, contains a Windows Vista / 7 /8 Aero fix)
***Right: FBA v0.2.96.74 (GGPO’s version from 2008) **

http://imageshack.us/a/img801/1323/a4nd.png

Left: Occasional late frame, always followed by a seemingly “fast” but really on-time frame.

Right: averaging 60 fps but has terrible microstutter.

Enabling / disabling Aero in Windows 7 had no effect on the results.

Supercade fairs a bit better but still has the microsutter:

http://img189.imageshack.us/img189/4987/syrq.png

GGFreeO:

Supercade:

http://i.imgur.com/roIF2iB.png

Good research, thanks for finding a way to measure.

Tested on Win7-64bit/ 2.9Ghz i7 (quad core) with 8GB of ram running DirectX v11 on an nVidia GTS450
Aero disabled for all. Autoframeskip disabled for all.
I can test WinXP on the same hardware (loaded via Ramdisk but it will have much less ram available) tomorrow.
All tests were 120 seconds.

GGPO offline Replay - VSav

http://i.imgur.com/ngr6pqil.jpg

Full view - http://imgur.com/ngr6pqi

GGPO offline Replay - XMCOTA (wanted to see if anything would change)

http://i.imgur.com/epFlbWFl.jpg

Full view - http://imgur.com/epFlbWF

SuperCade Offline Replay - VSav

http://i.imgur.com/c3xygb4l.jpg

Full view - http://imgur.com/c3xygb4

FBA-RR v07 XMCOTA offline playing around (not sure what FBA it’s based on but it was built in 2011 so I assume it has the fix)

http://i.imgur.com/f9VYCQDl.jpg

Full view - http://imgur.com/f9VYCQD

Here’s the FBA developer talking about it back in 2010:
http://neosource.1emu.net/forums/index.php?topic=1260.msg11808#msg11808

Same hardware except system ram was 1.07GB in this test (actually about 700MB free when the test was run).
Windows XP running from ramdisk with DirectX 9.0c

GGPO offline VSav replay

http://i.imgur.com/bBEC5chl.jpg

Full view - http://i.imgur.com/bBEC5ch.jpg

I’m of the firm belief that one factor in the declining playerbase on GGPO (at least for ST) is that more and more people are moving to Windows 7/8, and the horrible frameskip that is inherent in GGPOFBA feels even worse on Win7/8. On top of that, if they’re running it on a laptop it will be on top of the laptop screen’s display lag, making the whole experience a laggy and stuttering mess compared to arcade.

I’m using XP with a lagless monitor, and GGPOFBA still suffers badly from input lag compared to ShmupMAME, along with the usual frameskip/stutter. I think it would definitely help if Ponder ported the code to newer versions of FBA, but I honestly don’t think it’s going to happen, especially given how busy Ponder is these days.

//EDIT: I just tried the latest build of FBA, and it does seem like input lag is a lot better. Still not quite as good as ShmupMAME, but it seems like various fixes the devs have made worked as it feels more responsive.

The source to his GGPOFBA was released, so someone could try applying the fix mentioned in that neosource thread and rebuild or integrating the GGPO functions into a newer FBA. Submit it to Ponder and see if he will integrate it into the GGPO.net download.

I don’t know if this has already been tried, it may have been and he simply said no.

Anyone got a link to the source?

http://ggpo.net/download/ggpofba_0.2.96.71.zip

In case hotlink doesn’t work, last link on here - http://ggpo.net/download/

I don’t think Ponder released the actual source though, I remember him being reluctant to do that, possibly because people could then fork and create alternate competing versions of GGPO? In that zip file only the header files are readable, the actual code is compiled to binary inside ggponet.dll (correct me if I’m wrong).

I tried a more up-to-date FBA version (June 2013 build) and they’ve definitely fixed both the input lag and the frame stutter issues with ST. I have GGPO’s FBA and the newer FBA side by side, and switching between them, I can feel a noticeable difference in reduced input lag and the rendering being a lot smoother. There’s also an option in the menu of the newer FBA to fix the input lag when running Aero mode on Windows 7/8.

So what’s it going to take to get Ponder to update the GGPO’s FBA client? Would it be a difficult thing to reintegrate the GGPO code into the latest FBA source? I’m a software developer myself so I have some idea of the complexity involved, although it seems only Ponder himself would know exactly how much effort it would require. I just think it’s a pity that a much improved FBA exists that could solve a lot of issues people have with the ST experience on GGPO, and yet we’re stuck with an outdated, inferior client.

GGPO itself is contained in the DLL and that is still closed, but the FBA license required the modified FBA source (GGPOFBA) to be released. There was a discussion with the FBA authors on that -
http://ggpo.net/forums/viewtopic.php?f=3&t=3218

Whether anyone can actually build a usable version from that source is another matter. But connection testing can be done through P2P rather than needing to connect to the GGPO.net server if it’s actually buildable. GGPO in P2P [LAN]

edit: did an online test to see how Fraps would react to a laggy game (we knew he was having internet trouble), the results:

Full view - http://i.imgur.com/iYWZl8d.jpg

u can directly contact him: http://ggpo.net/about/

I personally know that if enough ppl requests him about it, he listens, I remember when I trolled the ST room with the afk spam, plenty of players sent email to him, by the next day I was unable to afk spam LOL

well, u can start making the ball roll

Just throwing another screenshot into the mix:

http://i.imgur.com/5WnA3psh.png

I did the benchmark on a Win 7 pro 64 bit comp with 4gigs RAM. It looked very solid. I spectated matches on GGPO for the benchmark.

reduce lag on ggpo
I’ve been using these settings to play 3rd strike
I recently switched to windows 8 and the settings still work
I remember some other users who managed to compile a version of ggpo that worked on hamachi when ggpo was down, it makes me wonder if its possible to compile it with the new updated blitters from fba

a few notes:

  • We have evidence that it’s the emulator (at least, its version) ggpo’s biggest problem for FG enthusiasts. Good stuff
  • See http://neosource.1emu.net/forums/index.php?topic=2379.0 for a guide to compiling fba
  • I did a proof-of-concept p2p +2player implementation on fba (ie: trust my opinion on fba, I know internets)
  • I’m not judging anyone, but touching ggpo is definately not a priority for Ponder. Any improvement on ggpo will be based on emulator update and client/server for matchmaking and it won’t be done by him. Someone else needs to step up.
  • I’ve been talking to @Torta about updating the ggpo emulator. This is definately feasible.
  • The above need new client/server implementation, and I would like to keep the second LGPL. Anyone interested hit me up on twitter @kyoneoblood
  • why is this not in Tech Talk?

Bump for the epicness of lagless w7 gaming :slight_smile:

The problem is that many members of the community have offered their services to help update FBA settings and run additional servers at no cost to Ponder. Whenever we ask, he says he doesn’t really want to do it, and offers no additional explanation.

So it’s not that people aren’t willing to step up and do it, it’s that Ponder has absolutely zero intent to update it in any way, shape, or form, or is even willing to consent to let others do it for him.