Rpcs3: Tales of Vesperia - animation speed tied to the frame rate (Windows only)

Created on 18 May 2018  路  29Comments  路  Source: RPCS3/rpcs3

On Windows, Tales of Vesperia animation speed appears to be tied to the frame rate.
For example, if the fps is 60 fps, animation speed is correct, but when the fps is10 fps or 20 fps, animation looks like slow motion.

We believed that this was an Namco graphics engine issue, but recent testing on Linux shows that the animation speed is constant regardless of the frame rate.

It's possible there is a bug on the Linux side that is fixing this issue, but I'd like to understand it and bring the bug to Windows too :-)

Any ideas why this might work on Linux and not Windows?

Linux Setup
rpcs3-v0.0.5-6756-a68dac72_linux64
RPCS3 settings - OpenGL, strict rendering mode enabled.
Ubuntu 18.04
Intel i7-8700
Nvidia 1070ti - driver Version: 390.59

Most helpful comment

PR 4661 is in master now. Marking this issue fixed!

All 29 comments

Some more info:

  • Not renderer dependent (Linux OpenGL and Vulkan both work).
  • I checked the system time API implementation. The implementation seems to be ok for Windows.

Are there any other ways to get a system clock / timestamp? It looks like RSX has a timestamp, but the implementation looks similar on Windows and Linux. How about the PPU/SPUs?

I find that very odd, the engines of the "tales of" have always been linked to the framerate, including the "tales of" released on Steam.

So the result on Linux surprises me a lot, I have absolutely no idea why it does that, probably the same phenomenon that makes Nier playable on Linux and unplayable on Windows.

After having informed myself a little I realized that Tales of Vesperia is supposed to be with 30 FPS outside and 60 FPs during the fights and SKITS like Tales of xillia 1/2/Graces F in fact.

So it is indeed abnormal that the game is in slow motion on Windows even when you reach 30 FPS or close to it. So it is the Linux version that has the right behavior and the windows version that is buggy.

Thanks for the comments.

Veperia's Vulkan performance is about half of OpenGL right now on Linux. But even with frame rates of 10 fps in town, the animation speed is correct. Weird.

I narrowed it down to the choice of PPU decoder.

Vesperia/Linux

  • PPU decoder = Interpreter (fast). Animation is in slow motion. FPS ~15 fps
  • PPU decoder = LLVM. Animation speed is correct. The FPS can vary between 10 and 25 fps and it's still correct.

Windows/LLVM hits similar frame rates to Linux/LLVM, so I'm not sure why this is happening.

Maybe a different timer/timestamp implementation in the PPU LLVM?

I know that can U do comparison video on YouTube. Tales of vesperia vs PS3 and Linux and windows can U do that and ask kadien he did the mod three tales of steam fix the frame rate issue and upgrade more detail then PS4 60 fps of tales of zestira makes skits weird anmiation

Oh, don't bring up kadien here, guy loves DRMs.

Anyways, is this one of the main issue for Skits going out of sync with audio as well?

Update on the previous comment by asbel123:
What Kaiden does behind the scenes for those games may not always apply for All Tales games. If I recall, half of his stuff is black magic that general people try to avoid. For now, the main focus of RPCS3 is to make all games playable. Thus, graphics my be put aside.

SKIT are in 60 FPS, if you are below the voices will necessarily be out of sync. Which is the case on Vesperia.

I try tales of Xillia 2 skits always go to 120fps I am up to chapter 8 no crashes i am using latest build its playable for me.

Really tales of vesperia of before U fight bad raven I use my save in that's dungeon go to 45fps animation is worng speed movement it's not like my real PS3 Framerate

Tales of Vesperia uses a different version of engine that Tales of Xillia 1/2/graces F. It uses much more the SPU and is therefore more demanding on RPCS3.

But on all Tales Of games with RPCS3 there is a huge framelimit problem. They are supposed to dynamically change framelimit in the game (30 outdoor FPS, 60 combat FPS and SKIT) and obviously RPCS3 does not detect this change.

I did a small playthrough of graces f today and also noticed that sometimes the whole game randomly speeds up in animation and movement speed for a few seconds (occurs more frequently in battles.) Can this be related?

It happens when the game is not 100% stable at 60 FPS. There's nothing we can do about it, apart from having a processor powerful enough to keep the game at 60 FPS all the time (or 30 outside).

The "tales of" engines are totally asynchronized and physics is linked to framerate, it's shit even on PC versions. The advantage is that the audio is also asynchronous which allows to have a correct sound without being fullspeed.

I played around briefly with HPET just for the sake of trying it, but there's no change whether it's enabled/disabled in Windows, the slowdown still seems to be directly tied to the low framerate. Inside houses etc where framerate is higher (60ish) the game definitely runs at the expected speed.

The problem is that normally the framerate expected of game is 30 FPS, not 60 outdoor.

@Illynir that being the case, it seems like the game animations are functioning at exactly half the expected speed. 60fps is providing perfect movement when 30fps should be providing perfect movement. 30fps is providing half-speed movement.

I fix it movement I have to use spu 6 times thread there is a lots a glitch tales of vesperia Cutscene U get half black bar bits and there is a lots error

Changing the SPU threads to 6 has no impact on animations for me, which is unsurprising as pauls-gh seems to have confirmed it is a PPU-LLVM issue.

@asbel123 do you have the complete list of settings you are using, a video perhaps? Which version of windows?

Yes, no difference for me also.

Latest version it's get 60 fps Yuri room when is big areas 23 fps I think Emulator has too many errors on log that game I tried lower resolution framerate improve 4 fps improve

Tales of Xillia 100 percent fix it everything I put 6 spit thread it's fullspeed on Vulkan 6700k 1080 gpu thats how come tales of vesperia same issue too.

I turn on write colour buffer and GPU texture scaling that's it and max scale realoustion all the way too. No slowdown thank for Ur help

It's a thread on Tales of Vesperia, not Tales of Xillia.

I using latest build where kid 11 keep fixing it go to rpcs3 download that where U get latest build everyday.

I have a work in progress fix for this. Please try it out. https://github.com/RPCS3/rpcs3/pull/4657

@pauls-gh

All non-battle animation speeds working as expected with this build. Huge frame increases as well, getting 35-65fps in town.

Battles seem to be tied to framerate still, and are now running too fast but run as expected with frame limiter!

PPU-LLVM, SPU-LLVM on 8700k & 1070ti

@cosalich - thanks for trying it out. That pretty much matches what I saw. I have a 8700 +1070ti.

Sleeping dog
50 => 60 fps (20% gain)
Town (top of stairs)
23 => 29 fps (26% gain)
Battle
40 => 100 fps (150% gain, need to use frame limiter now as the animation is too fast :-) )

I can confirm this fix makes everything go at normal speed.
My old 2600K doesn't get as high as you though 馃槃 so I noticed some slowdowns when FPS goes below 10, but it's not as bad as it used to be.

dont try his new build u get 8 fps on gameover screen and u get 16 fps first form last area dugeon of last boss and battle of last boss fullspeed.

kd-11 has a new PR with a fix for this. https://github.com/RPCS3/rpcs3/pull/4661

PR 4661 is in master now. Marking this issue fixed!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Birch-san picture Birch-san  路  3Comments

JohnGodgames picture JohnGodgames  路  3Comments

xddxd picture xddxd  路  3Comments

Emulator-Team-2 picture Emulator-Team-2  路  3Comments

altiereslima picture altiereslima  路  3Comments