How is your GGPO set up?

Hey guys.
As much as I want to get into ST on GGPO, I can never get a decent, lag free connection. Even with pings in the 30s I still get this kind of micro stutter and I have no idea why. It happened before when I was on a dual core laptop, and 4mbps connection and it’s still happening now I have a quad core laptop and 100mbps fibre. So totally different hardware, different providers and different modems/routers. I had been using wireless before (Linksys e4200) but to rule out this being the cause I tried connecting with some Cat 6 and it was exactly the same.

I have assigned static IPs to everything on my network simply because it makes port forwarding easier, and yes I have the correct ports forwarded. I played Evil Dindon whose ping to me was 57 and he said it was unplayable. I am a picky person, but I’d say anything over 100 was unplayable, so I’m not sure how it looks to people on the other side.

So I’m wondering if it could be how my emulator is set up that is causing this stutter or something. When I play the game my CPU usage is less than 4% so it’s not a case of my processor being stressed. I have 100mbps down and 10mbps up.

I’m on Windows 7 which I think could be the cause of the problem. When I’ve tried capturing videos with ustream before it basically captured them at a much lower framerate than it should have been. ST also runs at a lower framerate (looks like 30fps) when windowed, but is perfect when full screen. I’m using the Windows 7 UI but transparency is disabled.

So could anyone share their settings or ggpofba.ini? My setup is basically set to 1080p full screen using the enhanced direct 3d renderer. All other filters and stuff are disabled, and I use bilinear filtering. This is really annoying me now.

It’s worth adding that it’s not my connection that is the issue here. I can play the same people on HDR then play them on GGPO and it’s always laggier for me on GGPO. Since the Xbox and the laptop both use the same connection, I presume it must either be GGPO’s servers or the software?

http://www.pingtest.net/result/56085942.png

A 512kb connection does the same that ur 100mbps one.

u should try installing a second OS, windows XP n try GGPO with it

Yeah I hear you with the connection speed. All this game transfers is KBs but usually people are just like HURR YOU DONT HAVE ENUF MBPS so I felt it necessary to get that out of the way.

Tried installing XP but it just blue screens every time. I guess my laptop is too modern for it or something.

If your laptop has sata disks, you need to patch the CD and burn it again in order to install XP, cos it does not have sata drivers. There are guides on how to do it on the net.

It is pointless to go full screen at 1080p with a 384 x 224 game. Go 800 x 600 and play in a window, it should be good enough. Not all monitors support high refresh rates at higher resolutions.

Finally, laptops are known to have a whole lot of hardware issues. For instance, they are not recommended for real-time applications due to hardware weirdness.

Edit: if you have firewall, turn off any stupid “intelligent scan” or the like. Those love to screw gaming connections.

Anyway, here goes my ggpofba.ini:


// FB Alpha v0.2.96.74 --- Main Config File
 
// Don't edit this file manually unless you know what you're doing
// FB Alpha will restore default settings when this file is deleted
 
// The application version this file was saved from
nIniVersion 0x029674
 
 
// --- emulation --------------------------------------------------------------
 
// If non-zero, use A68K for MC68000 emulation
bBurnUseASMCPUEmulation 1
 
 
 
// --- Video ------------------------------------------------------------------
 
// The display mode to use for fullscreen
nVidWidth 640
nVidHeight 480
nVidDepth 16
 
// Specify the refresh rate, 0 = default (changing this will not work with many video cards)
nVidRefresh 0
 
// If non-zero, use the same fullscreen resolution as the original arcade game
bVidArcaderes 0
 
// If non-zero, do not rotate the graphics for vertical games
nVidRotationAdjust 0
 
// The preset resolutions appearing in the menu
VidPreset[0].nWidth 400
VidPreset[0].nHeight 300
VidPreset[1].nWidth 640
VidPreset[1].nHeight 480
VidPreset[2].nWidth 1024
VidPreset[2].nHeight 768
VidPreset[3].nWidth 1280
VidPreset[3].nHeight 960
 
// Full-screen size (0 = use display mode variables)
nScreenSize 0
 
// Initial window size (0 = autosize)
nWindowSize 0
 
// Window position
nWindowPosX 14
nWindowPosY 4
 
// If non-zero, perform gamma correction
bDoGamma 0
 
// If non-zero, use the video hardware to correct gamma
bVidUseHardwareGamma 1
 
// If non-zero, don't fall back on software gamma correction
bHardwareGammaOnly 1
 
// Gamma to correct with
nGamma 1.250000
 
// If non-zero, allow stretching of the image to any size
bVidFullStretch 0
 
// If non-zero, stretch the image to the largest size preserving aspect ratio
bVidCorrectAspect 1
 
// If non-zero, try to use a triple buffer in fullscreen
bVidTripleBuffer 0
 
// If non-zero, try to synchronise blits with the display
bVidVSync 0
 
// Transfer method:  0 = blit from system memory / use driver/DirectX texture management;
//                  1 = copy to a video memory surface, then use bltfast();
//                  -1 = autodetect for DirectDraw, equals 1 for Direct3D
nVidTransferMethod -1
 
// If non-zero, draw scanlines to simulate a low-res monitor
bVidScanlines 0
 
// Maximum scanline intensity
nVidScanIntensity 12566463
 
// If non-zero, rotate scanlines and RGB effects for rotated games
bVidScanRotate 1
 
// The selected blitter module
nVidSelect 0
 
// Options for the blitter modules
nVidBlitterOpt[0] 0
nVidBlitterOpt[1] 0
nVidBlitterOpt[2] 0
nVidBlitterOpt[3] 0
 
// The aspect ratio of the monitor
nVidScrnAspectX 4
nVidScrnAspectY 3
 
// If non-zero, force all games to use a 60Hz refresh rate
bForce60Hz 1
 
// If non-zero, skip frames when needed to keep the emulation running at full speed
bAlwaysDrawFrames 0
 
// If non-zero, use a placeholder image when no game is loaded
bVidUsePlaceholder 1
 
// The filename of the placeholder image to use (empty filename = use built-in)
szPlaceHolder
 
// --- DirectDraw blitter module settings -------------------------------------
 
// If non-zero, draw scanlines at 50% intensity
bVidScanHalf 1
 
// --- Direct3D 7 blitter module settings -------------------------------------
 
// If non-zero, use bi-linear filtering to display the image
bVidBilinear 1
 
// If non-zero, simulate slow phosphors (feedback)
bVidScanDelay 0
 
// If non-zero, use bi-linear filtering for the scanlines
bVidScanBilinear 1
 
// Feedback amount for slow phosphor simulation
nVidFeedbackIntensity 64
 
// Oversaturation amount for slow phosphor simulation
nVidFeedbackOverSaturation 0
 
// Angle at wich the emulated screen is tilted (in radians)
fVidScreenAngle 0.174533
 
// Angle of the sphere segment used for the 3D screen (in radians)
fVidScreenCurvature 0.698132
 
// If non-zero, force 16 bit emulation even in 32-bit screenmodes
bVidForce16bit 1
 
// --- DirectX Graphics 9 blitter module settings -----------------------------
 
// The filter parameters for the cubic filter
dVidCubicB 0.000000
dVidCubicC 0.500000
 
 
 
// --- Sound ------------------------------------------------------------------
 
// Sample rate
nAudSampleRate 22050
 
// Number of frames in sound buffer (= sound lag)
nAudSegCount 6
 
// DSP module to use for sound enhancement: 0 = none, 1 = low-pass filter
nAudDSPModule 0
 
// The order of PCM/ADPCM interpolation
nInterpolation 1
 
// The order of FM interpolation
nFMInterpolation 0
 
 
 
// --- UI ---------------------------------------------------------------------
 
// Filename of the active UI translation template
szLocalisationTemplate
 
// 1 = display pause/record/replay/kaillera icons in the upper right corner of the display
nVidSDisplayStatus 1
 
// Minimum height (in pixels) of the font used for the Kaillera chat function (used for arcade resolution)
nMinChatFontSize 12
 
// Maximum height (in pixels) of the font used for the Kaillera chat function (used for 1280x960 or higher).
nMaxChatFontSize 36
 
// Make the menu modeless
bModelessMenu 0
 
// Minimum length of time to display the splash screen (in milliseconds)
nSplashTime 1500
 
// If non-zero, load and save all ram (the state)
bDrvSaveAll 0
 
// The thread priority for the application. Do *NOT* edit this manually
nAppThreadPriority 0
 
// If non-zero, process keyboard input even when the application loses focus
bAlwaysProcessKeyboardInput 0
 
// If non-zero, pause when the application loses focus
bAutoPause 1
 
// If non-zero, save the inputs for each game
bSaveInputs 1
 
// --- Load Game Dialog -------------------------------------------------------
 
// Load game dialog options
nLoadMenuShowX 65536
 
// The paths to search for rom zips (include trailing backslash)
szAppRomPaths[0]
szAppRomPaths[1]
szAppRomPaths[2]
szAppRomPaths[3]
szAppRomPaths[4]
szAppRomPaths[5]
szAppRomPaths[6]
szAppRomPaths[7] roms\
 
// --- ggpo settings ---------------------------------------------------------
 
nLatencySmoothing 1
 
 
 
// --- miscellaneous ---------------------------------------------------------
 
// Player default controls, number is the index of the configuration in the input dialog
nPlayerDefaultControls[0] 0
szPlayerDefaultIni[0]
nPlayerDefaultControls[1] 1
szPlayerDefaultIni[1]
nPlayerDefaultControls[2] 2
szPlayerDefaultIni[2]
nPlayerDefaultControls[3] 3
szPlayerDefaultIni[3]


Consistency in your connection is far more important than theoretical max.

Thanks for the help. Strangely enough that ini seems to have helped. I don’t seem to get the micro stutter, so I presume it was maybe GPU related. Maybe where I had the vsync on and the game was trying to sync itself with the other player was causing a conflict.

I run it at 1080p simply because that’s the native resolution of my panel, and my theory was that it was better for the emulator to upscale the image rather than the LCD do it and cause a delay.

Here is my old ini if anyone wants to compare or have a look and see what they think. In my case I get a smoother game (at least offline) than I did with oldschool’s file. I get perfect 60fps with no jerkiness or frame skip. Most noticable with fireballs where you see them flicker properly and not dissapear and appear solid for a few frames.


// FB Alpha v0.2.96.74 --- Main Config File

// Don't edit this file manually unless you know what you're doing
// FB Alpha will restore default settings when this file is deleted

// The application version this file was saved from
nIniVersion 0x029674


// --- emulation --------------------------------------------------------------

// If non-zero, use A68K for MC68000 emulation
bBurnUseASMCPUEmulation 1



// --- Video ------------------------------------------------------------------

// The display mode to use for fullscreen
nVidWidth 1920
nVidHeight 1080
nVidDepth 32

// Specify the refresh rate, 0 = default (changing this will not work with many video cards)
nVidRefresh 0

// If non-zero, use the same fullscreen resolution as the original arcade game
bVidArcaderes 0

// If non-zero, do not rotate the graphics for vertical games
nVidRotationAdjust 0

// The preset resolutions appearing in the menu
VidPreset[0].nWidth 400
VidPreset[0].nHeight 300
VidPreset[1].nWidth 640
VidPreset[1].nHeight 480
VidPreset[2].nWidth 1024
VidPreset[2].nHeight 768
VidPreset[3].nWidth 1280
VidPreset[3].nHeight 960

// Full-screen size (0 = use display mode variables)
nScreenSize 0

// Initial window size (0 = autosize)
nWindowSize 3

// Window position
nWindowPosX 486
nWindowPosY 145

// If non-zero, perform gamma correction
bDoGamma 0

// If non-zero, use the video hardware to correct gamma
bVidUseHardwareGamma 0

// If non-zero, don't fall back on software gamma correction
bHardwareGammaOnly 0

// Gamma to correct with
nGamma 1.250000

// If non-zero, allow stretching of the image to any size
bVidFullStretch 0

// If non-zero, stretch the image to the largest size preserving aspect ratio
bVidCorrectAspect 1

// If non-zero, try to use a triple buffer in fullscreen
bVidTripleBuffer 1

// If non-zero, try to synchronise blits with the display
bVidVSync 0

// Transfer method:  0 = blit from system memory / use driver/DirectX texture management;
//                   1 = copy to a video memory surface, then use bltfast();
//                  -1 = autodetect for DirectDraw, equals 1 for Direct3D
nVidTransferMethod 1

// If non-zero, draw scanlines to simulate a low-res monitor
bVidScanlines 0

// Maximum scanline intensity
nVidScanIntensity 12566463

// If non-zero, rotate scanlines and RGB effects for rotated games
bVidScanRotate 1

// The selected blitter module
nVidSelect 1

// Options for the blitter modules
nVidBlitterOpt[0] 0
nVidBlitterOpt[1] 0
nVidBlitterOpt[2] 0
nVidBlitterOpt[3] 0

// The aspect ratio of the monitor
nVidScrnAspectX 16
nVidScrnAspectY 9

// If non-zero, force all games to use a 60Hz refresh rate
bForce60Hz 1

// If non-zero, skip frames when needed to keep the emulation running at full speed
bAlwaysDrawFrames 1

// If non-zero, use a placeholder image when no game is loaded
bVidUsePlaceholder 1

// The filename of the placeholder image to use (empty filename = use built-in)
szPlaceHolder 

// --- DirectDraw blitter module settings -------------------------------------

// If non-zero, draw scanlines at 50% intensity
bVidScanHalf 1

// --- Direct3D 7 blitter module settings -------------------------------------

// If non-zero, use bi-linear filtering to display the image
bVidBilinear 1

// If non-zero, simulate slow phosphors (feedback)
bVidScanDelay 0

// If non-zero, use bi-linear filtering for the scanlines
bVidScanBilinear 1

// Feedback amount for slow phosphor simulation
nVidFeedbackIntensity 64

// Oversaturation amount for slow phosphor simulation
nVidFeedbackOverSaturation 0

// Angle at wich the emulated screen is tilted (in radians)
fVidScreenAngle 0.174533

// Angle of the sphere segment used for the 3D screen (in radians)
fVidScreenCurvature 0.698132

// If non-zero, force 16 bit emulation even in 32-bit screenmodes
bVidForce16bit 1

// --- DirectX Graphics 9 blitter module settings -----------------------------

// The filter parameters for the cubic filter
dVidCubicB 0.000000
dVidCubicC 0.500000



// --- Sound ------------------------------------------------------------------

// Sample rate
nAudSampleRate 44100

// Number of frames in sound buffer (= sound lag)
nAudSegCount 6

// DSP module to use for sound enhancement: 0 = none, 1 = low-pass filter
nAudDSPModule 0

// The order of PCM/ADPCM interpolation
nInterpolation 1

// The order of FM interpolation
nFMInterpolation 0



// --- UI ---------------------------------------------------------------------

// Filename of the active UI translation template
szLocalisationTemplate 

// 1 = display pause/record/replay/kaillera icons in the upper right corner of the display
nVidSDisplayStatus 1

// Minimum height (in pixels) of the font used for the Kaillera chat function (used for arcade resolution)
nMinChatFontSize 12

// Maximum height (in pixels) of the font used for the Kaillera chat function (used for 1280x960 or higher).
nMaxChatFontSize 36

// Make the menu modeless
bModelessMenu 0

// Minimum length of time to display the splash screen (in milliseconds)
nSplashTime 1500

// If non-zero, load and save all ram (the state)
bDrvSaveAll 0

// The thread priority for the application. Do *NOT* edit this manually
nAppThreadPriority 0

// If non-zero, process keyboard input even when the application loses focus
bAlwaysProcessKeyboardInput 0

// If non-zero, pause when the application loses focus
bAutoPause 0

// If non-zero, save the inputs for each game
bSaveInputs 1

// --- Load Game Dialog -------------------------------------------------------

// Load game dialog options
nLoadMenuShowX 65536

// The paths to search for rom zips (include trailing backslash)
szAppRomPaths[0] 
szAppRomPaths[1] 
szAppRomPaths[2] 
szAppRomPaths[3] 
szAppRomPaths[4] 
szAppRomPaths[5] 
szAppRomPaths[6] 
szAppRomPaths[7] roms\

// --- ggpo settings ---------------------------------------------------------

nLatencySmoothing 1



// --- miscellaneous ---------------------------------------------------------

// Player default controls, number is the index of the configuration in the input dialog
nPlayerDefaultControls[0] 0
szPlayerDefaultIni[0] 
nPlayerDefaultControls[1] 1
szPlayerDefaultIni[1] 
nPlayerDefaultControls[2] 2
szPlayerDefaultIni[2] 
nPlayerDefaultControls[3] 3
szPlayerDefaultIni[3] 





I’m excited

edit: I tried using your config and the flickering fireballs didnt go away; I should not have been excited. :frowning:

I guess it depends on hardware and whether you have vsync on etc (I do). The flickering fireballs is the intended effect, how it’s supposed to look. What I was talking about is the effect where the image is not synced correctly and you will see a solid fireball for a second and then it will totally dissapear for a bit as it’s travelling across the screen. It should be a uniform flicker as it moves from one side to the other, not appearing solid at times and dissapearing at others

Yeah, I knew exactly what you were talking about. I get invisible fireballs all the time, especially ones thrown by Ken. I tried with vsync on and it made no apparent difference.

I don’t know what option that might cause this in FBA but it sounds like for some reason the game is running at 25-29 FPS rather than 59-61 fps. and/or skipping frames.

^ I get this exact same effect when I run it in windowed mode. I presume you are using Windows 7? I tried disabling Aero and all that shit but the only thing that seemed to get it to run at a full 60fps was running it in fullscreen.

Hit Alt and Enter to run fullscreen, then the same or Esc to exit back to windowed mode.

Fullscreen causes more rollbacks.

dual boot XP, random dell… works fine : )

I bet that mother fucker would run smoove like oiled up titties on windows 98.

Not that I dispute this, but has this been proven, or do you know the reason why it does?