Project

General

Profile

Actions

Emulator Issues #2107

closed

Fatal Frame 4 (Zero Gesshoku no Kamen) no longer has audio / video sync during cutscenes

Added by xatnys over 14 years ago.

Status:
Invalid
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

What steps will reproduce the problem?

  1. Start a new game in FF4 on any revision after r4689.

What is the expected output? What do you see instead?
Synced audio/video. During the intro the sound significantly gets ahead of
the video after Madoka's first flashback.

What version of the product are you using? On what operating system?
r4689 @ Windows7

Please provide any additional information below.
Prior to r4689 (I had tested around r4682) it was possible to get the the
game in perfect sync with the following settings:
Framelimit off
Watchdog @ 20
D3D9 plugin with EFB to RAM (for some reason any other video combination
i.e. D3D9 EFB to Texture, or OGL EFB to either RAM/Texture also broke audio
sync)

It was like an auto-frameskip of sorts, with FPS in the 20-30s, but VPS @ 100%.

I believe the changes made between r4687-r4689 have to do with the total
loss of audio sync.

Actions #1

Updated by xatnys over 14 years ago

Please excuse my mis-information - I just tested with r4685 and I get the audio sync
issue there was well.

It seems the issue arose between r4682-r4684 (r4685 was a minor control related commit).

Actions #2

Updated by marcel.werner3 over 14 years ago

is this really an issue? sound and video get desynced in videos/cutscenes when your
fps drop (even a bit) under fullspeed (30). For me it's fine, so I wouldn't really
consider this an issue.

Actions #3

Updated by marcel.werner3 over 14 years ago

btw: you might try to switch the audio backend to OpenAL, maybe that helps shrug

Actions #4

Updated by xatnys over 14 years ago

Wouldn't it qualify as a regression and be worthy of an issue if I could get A/V in
sync before but can't anymore?

I guess the simplest way I can describe why this is a problem now (as opposed to
before) is that the video would refresh @ x FPS while VPS remained at 100%, so audio
and video did remain in sync. It was like an auto-frameskip, . This is no longer the
case - VPS decreases proportionally to FPS now, leading to the jarring desyncs during
cutscenes.

Actions #5

Updated by marcel.werner3 over 14 years ago

hm, don't really understand this auto-frameskip-thing you're talking about. Maybe it
IS an issue; let the devs decide g
However, the fact alone that the game was in sync for you and isn't anymore is not
necessarily a regression. Emulators get faster and slower for different games with
just about every rev shrug

Actions #6

Updated by john.fowler1541 over 14 years ago

Well I agree older versions had it in sync with openal but now it gets out of sync.
to me it seams to be running at the same speed but newer versions seam to think it
is running at 100% instead of ~85%.

Actions #8

Updated by 8492nd over 14 years ago

i used dolphin 4935 and got the exact same issue. after the first flashback, the
audio out of sync

Actions #9

Updated by xatnys about 14 years ago

Small addendum:

Using OpenAL does NOT maintain audio sync.

Actions #10

Updated by john.fowler1541 about 14 years ago

Well changeing the following lines in videointerface.cpp seams to return sync

from
TicksPerFrame = SystemTimers::GetTicksPerSecond() / (NTSC_FIELD_RATE +1);

to
TicksPerFrame = (SystemTimers::GetTicksPerSecond() / (NTSC_FIELD_RATE )-1);

from
TicksPerFrame = SystemTimers::GetTicksPerSecond() / (PAL_FIELD_RATE + 1);

to
TicksPerFrame = (SystemTimers::GetTicksPerSecond() / (PAL_FIELD_RATE )-1);

this has not caused any issues with other games i have tested.

Actions #11

Updated by xatnys about 14 years ago

I have a feeling that your fix (which I'm about to test now, compiling as I write
this) is very similar to the one that I outline here:
http://forums.dolphin-emu.com/thread-353-post-72180.html#pid72180

It seems to stem from ayuanx's loosening of the framelimiter. At least that's my theory.

Actions #12

Updated by john.fowler1541 about 14 years ago

I tried your version and for some reason it didn't work for me. Must be just me
since it looks like other people have gotten it to work.

I think ayuanx made the frame rate run faster because some games require it, eg
destroy all humans but it looks like it make the video run an extra FPS where as my
one just makes a frame take on less tick which should fix a rounding error and still
works with DAH.

Actions #13

Updated by xatnys about 14 years ago

Weird. For me your fix does prevent the game from getting too out of sync, but the
audio is still noticeably behind the video (tested in the intro). I wish I could make
a comparison video, but what I do in my version really tightens the sync up to the
point where the sound matches up flawlessly with the animation / subtitles.

Actions #14

Updated by john.fowler1541 about 14 years ago

Tired again still majorly out with yours and perfect sync with mine. I deffinatly
agree that your change looks like the way the code should be since I don't see the
point in the increments decrements that were the before. my guess is that since it
is a timming issue that it may be caused by differences in our CPU speeds. realy
need a one of the devs to look at it for a totaly correct fix.

Actions #15

Updated by Anonymous over 13 years ago

Please respond if this issue is still valid, or it will be closed.

Actions #16

Updated by Anonymous over 13 years ago

  • Status changed from New to Invalid
Actions

Also available in: Atom PDF