Author Topic: windows 7 - unwanted frameskip  (Read 49852 times)

Offline AtTheGates

  • Newbies
  • *
  • Posts: 19
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #30 on: February 20, 2010, 06:48:43 AM »
thx for the detailed answer,

i will do some more extensive testing once the new FBA version is out, then.

as far as i know, v-synch adds a frame of input lag, though?

Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: windows 7 - unwanted frameskip
« Reply #31 on: February 20, 2010, 06:58:20 AM »
thx for the detailed answer,

i will do some more extensive testing once the new FBA version is out, then.

as far as i know, v-synch adds a frame of input lag, though?

Since the way I implemented it was not hard-coded Vsync, but proper waiting of vertical scanlines synchronization it will never put the application itself on hold, or cause other devices to stop working while vsync is active. In some other application or games where Vsync is implemented in a hard-coded way it may cause these input issues because is putting the application itself on hold while vsync is used.

So far I haven't noticed any kind of input lag, and honestly I haven't tested it playing online but it shouldn't cause any problems. :)

SeeYaa!
:biggrin:

Offline AtTheGates

  • Newbies
  • *
  • Posts: 19
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #32 on: March 01, 2010, 07:24:11 AM »
hey there,
tested the newest version today.
all tests used enhanced blitter and full screen, no effects, only rotate scanlines (not that it matters)
1. v-synch, frameskip
2. frameskip only
3. nothing
4. v-synch only

unfortunately, the frametimes didn't show any improvement at all. 1000/60 = 16.667, so a frame should be drawn every 16.667 ms, and those are totally off =(
it's much better under XP, closer to 16.6 (still not perfect, but very close).

http://rapidshare.com/files/357428551/20100301_frametimes_for_fba029708___CPSIII.rar.html
« Last Edit: March 01, 2010, 07:48:22 AM by AtTheGates »

Offline Huggybaby

  • Jr. Member
  • **
  • Posts: 91
  • Karma: +2/-0
Re: windows 7 - unwanted frameskip
« Reply #33 on: March 01, 2010, 07:35:40 AM »
I don't think the new version with the vsynch fix has been released yet, unless I missed it.

<edit> Yep, I missed it, sorry.
« Last Edit: March 01, 2010, 10:50:03 AM by Huggybaby »

Offline AtTheGates

  • Newbies
  • *
  • Posts: 19
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #34 on: March 13, 2010, 07:38:11 AM »
i'm still waiting for some feedback here =(

Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: windows 7 - unwanted frameskip
« Reply #35 on: March 13, 2010, 11:20:20 AM »
i'm still waiting for some feedback here =(

I'm sorry about not posting a solution for your problem but it seems very rare, since I could fix it with Vsync in my case. It seems that your problem is PC specific. But if I find some kind of possible solution I will let you know man! ;)

Take Care!

SeeYaa!
 :biggrin:

Offline AtTheGates

  • Newbies
  • *
  • Posts: 19
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #36 on: March 16, 2010, 09:57:04 AM »
so your frame times aren't off, like mine are?

a lot of people i talked to in the fighting game scene seem to have the same problem as me, i guess almost nobody notices it or something :(

Offline Aquashark

  • Newbies
  • *
  • Posts: 48
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #37 on: June 24, 2010, 03:01:18 PM »
can you please fix this bug? it's really annoying.. especially when playing online

Offline delatroy

  • Newbies
  • *
  • Posts: 16
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #38 on: July 08, 2010, 01:25:59 PM »
hi guys, I read through all this post and I'm having the same same anonying problems that everyone here has. What versions of FBA are you using? I want to fix this for GGPO and the GGPO version of FBA is 0.296.74.

The newest stable release however is 0.297.08. This version however isn't integrated with GGPO, so you can't simply download and rename the GGPOFBA exe. Is there a way to integrate it?

In the version history, there is only one mention of Windows 7:
  • Added support for Vista, Server 2008 and Windows 7 detection to the System Info dialog [Barry]

They also mention:

Quote
Added a few small speedups
  • Only recalculate the whole palette when needed now rather than every frame [iq_132]
    Clear all video buffers in one loop [iq_132]

Anyone actually managed to fix this frame sh** or not? I think i'll just use a separate XP machine plugged into my monitor to play instead.  :S

Offline delatroy

  • Newbies
  • *
  • Posts: 16
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #39 on: July 08, 2010, 01:59:00 PM »
Okay so it seems to me like this definitely works!

I'm running it is DX9 mode, full screen mode, v-sync on with desktop and full screen resolutions set at 1280 x 800.

Quote
Hi there AtTheGates,  I have Win7 (x64)  and I experience the strange frameskip in windowed mode as well, I always disable Auto Frameskip so its supposed to run at 60fps. The problem seems to be with high resolutions, normally I use 1680 x 1050 [32bit][60hz] and I could notice the issue, but when I lowered the desktop resolution a bit just to see what happened, the frame skipping went away, and if its there is not noticed. At least this is a temporary workaround until the real problem can be identified under Win7

Another thing you could try if the problem persist is using the DirectX9 Experimental Blitter and see if this show improvements.

Offline AtTheGates

  • Newbies
  • *
  • Posts: 19
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #40 on: August 12, 2010, 06:32:40 PM »
hey everyone,
been a while since i last checked in - i will try running a lower desktop resolution, thx for the tip!


edit:
i can CONFIRM that the frameskip is lessened or removed by using experimental blitter and fullscreen regardless of the resolution. windowed still frameskips like hell.

every easy way to test for frameskip is by running jojo's bizarre adventure, and looking at the panning background in the char / mode select screen. more fancy way would of course be to take frametimes with fraps (which i havent done yet).

edit2:
frametimes: http://rapidshare.com/files/412605785/ggpofba_2010-08-13_00-52-40-95_frametimes.csv.html
a lot better than last time.


edit3:
great, experimental blitter keeps freezing up fba when i play via ggpo, only way to fix it is to go back to windowed and back to fullscreen -> unplayable.

guess we need a real fix after all, the workaround isnt good enough =(
« Last Edit: August 12, 2010, 07:26:14 PM by AtTheGates »

Offline EmX

  • New Member
  • *
  • Posts: 1
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #41 on: October 04, 2010, 12:03:24 PM »
Any answers on this?  Win7 x64 here.  FBA is still framey and experimental blitter isn't reliable.

specs, if it matters:
intel c2d e8400
8gb ram
radeon 5850
on a gigabyte ep35-ds3l mobo.


Offline FerchogtX

  • FBNeo Dev
  • ******
  • Posts: 375
  • Karma: +7/-0
  • FB Alpha Team ;)
    • FB Alpha Plus! Web Site
Re: windows 7 - unwanted frameskip
« Reply #42 on: October 05, 2010, 08:26:19 PM »
Well... is maybe a CPU issue here... I've seen sometimes quad-core systems that got problems with some siingle core apps... maybe this can work for you, you can either:

1.- Try setting CPU affinity in task managger for FBA, use only 1 core and see its effects.

or

2.- Open msconfig, go to boot tab, then click on advanced options, and set the number of cores you have, for example, in your case, you set 4 CPU's, then reboot.

See if this can help you.

See ya!!! :D

Good and evil co-exist because of the balance, lies are not part of it...

FB Alpha Plus! site infos updated, see the latest info clicking on my profile link...

Offline delatroy

  • Newbies
  • *
  • Posts: 16
  • Karma: +0/-0
Re: windows 7 - unwanted frameskip
« Reply #43 on: October 06, 2010, 10:04:05 AM »
I dunno what you guys are saying. We all have similar systems and DX9 works well for me. I got a i920 CPU which has 8 cores and the ATI x4870. Runs the same windowed for me as full screen.

My ggpofba.ini:

Quote
// 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 1280
nVidHeight 800
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 1

// 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 9999

// Window position
nWindowPosX 157
nWindowPosY 0

// 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 1

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

// 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 3

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

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

// 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 0

// 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 0

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

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



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

// Sample rate
nAudSampleRate 48000

// 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 3

// 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 1

// 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 327680

// 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]




Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: windows 7 - unwanted frameskip
« Reply #44 on: October 11, 2010, 04:45:35 AM »
OK guys, I have good news, after coming from work I took some time to do some extensive investigation of the FBA frame handling code on Windows XP (since is the one I am using temporary until I can replace a burned memory xD) and made a few test builds. After examining the results on Windows XP I found out how to efectively make the Auto-Frameskip function to limit the frameskip to 0. This means that if for any reason the Auto-Frameskip function wanna do some weird frame skipping, it will now be limited to 0 frameskip.

After testing on Windows XP, I switched to my other boot hdd and loaded Windows 7 (x64). I tested FBA using all the Aero Theme features, Windowed Mode, with only Auto-Frameskip option active and it worked like a charm  :smilie:, there were no frames dropped. Since I didn't have the Vsync active the vertical lines were not syncronized, so I turned it on and everything went smooth  :smilie:.

I just need to modify the old conditioning option to the new modification and everything should be fine, after finishing this the Autoframeskip option, when enabled will Drop frames per second as needed, and when deactivated will never drop a frame, but of course if the CPU / Video Card have issues it will display the frames as fast as your computer can.

When I finish working on this (I need to sleep now xD) I will post a test binary, using the last released source by Barry 'only' with the Autoframeskip changes for testing purposes. If everything works well after the tests, then it will be integrated in the next official release of FBA  :smilie:.

Note: Source code changes will be officially available on the next official release (FBA Dev Team colleagues will have access to the modified code ASAP).

SeeYaa!
:biggrin:
« Last Edit: October 11, 2010, 04:54:18 AM by CaptainCPS-X »