Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yoshi's Story stutter/frame pacing issues #98

Closed
Tasosgemah opened this issue Sep 15, 2019 · 41 comments
Closed

Yoshi's Story stutter/frame pacing issues #98

Tasosgemah opened this issue Sep 15, 2019 · 41 comments

Comments

@Tasosgemah
Copy link

Tasosgemah commented Sep 15, 2019

The scrolling in this game isn't smooth when using this core (Windows)

There are noticeable stutters and slowdowns but the sound doesn't pop/crackle which indicates emulation speed is 100%. I also disabled anything that could slow down the system (like hard GPU sync) but the game still isn't smooth. Seems it's a frame pacing issue. My system is an i5 4670 + GTX 1060.

Normally the scrolling is 60fps in this game. The older Mupen core doesn't have this issue.

@Tasosgemah Tasosgemah changed the title Yoshi's Story stitter/frame pacing issues Yoshi's Story stutter/frame pacing issues Sep 15, 2019
@m4xw
Copy link
Collaborator

m4xw commented Sep 15, 2019

What does FPS say?
When I tried it I didnt notice any issue like that.
What the old core does is irrelevant for this.

@Tasosgemah
Copy link
Author

Tasosgemah commented Sep 15, 2019

FPS counter shows 59-60fps, even when the stutters occur. This is typical of PC games that have frame pacing or sync issues, FPS counters like RTSS would report 60fps with no drops but you can clearly see stutters in game. I think the same happens here.

@Tasosgemah
Copy link
Author

Ok i tried lowering my monitor's refresh rate to 60hz (i have a 240hz monitor) and now the frame pacing is much better, not perfect but it's OK.

This is weird because only Yoshi's Story seems to be affected by this, i didn't have this issue with other N64 games that i tried.

@m4xw
Copy link
Collaborator

m4xw commented Sep 15, 2019

I only test 60hz setups, so this is valueable info.
Will ask some people to cross check the issue tomorrow.

@BParks21
Copy link

@Tasosgemah Did you try the duplicate frames setting that solves frame pacing issues for me.

@Tasosgemah
Copy link
Author

@Tasosgemah Did you try the duplicate frames setting that solves frame pacing issues for me.

No, i tried that and also tried "full speed" and "counter op: 1".

Only thing that fixes it is to use true fullscreen instead of windowed (which sets the screen at 60hz).

@Immersion95
Copy link

Hi,

I think that the issue is introduced in the following commit 16d9692 "Add Background Mode Core option".

After updating the core, the background in Yoshi's Story became really really buggy, I had to put "Stripped" instead of "One Piece" in that new option to have a normal background again.

The new introduced problem then is that it stutters a lot as you mentionned it.

The only solution for me was to revert to an old version of this core, commit b785150. Please try it and tell us if it works :)
mupen64plus_next_libretro - Commit b785150.zip

@m4xw
Copy link
Collaborator

m4xw commented Sep 15, 2019

It defaulted to one piece before already.
stripped is more accurate and far more taxing.

@m4xw
Copy link
Collaborator

m4xw commented Sep 15, 2019

@Immersion95
Copy link

Yes but the problem with "One Piece" ATM with this game is that the backgrounds are all over the place.

Can somebody try ?

@m4xw
Copy link
Collaborator

m4xw commented Sep 15, 2019

@Immersion95 thats why i added the option to use stripped... which ofc is far more taxing and has its own issues.
Pick your poison.

@m4xw
Copy link
Collaborator

m4xw commented Sep 15, 2019

I mentioned that this is likely a upstream Issue that got introduced in the texture changes in the subrepo pull after the bitmask PR in the other Issue btw.

@m4xw
Copy link
Collaborator

m4xw commented Sep 15, 2019

16baae7

@m4xw
Copy link
Collaborator

m4xw commented Sep 15, 2019

@Immersion95 can u try removing this hack and using stripped?
Will be out for the rest of the day in a bit

texturedRectSpecial = texturedRectBGCopy;

@Tasosgemah
Copy link
Author

Tasosgemah commented Sep 15, 2019

In my case at least it's a sync problem with my 240hz screen. I don't think it has anything to do with the background option in my case. And i don't have this issue with any other game or system so far, RetroArch does a fine job syncing things (except 30fps Dolphin games but that problem exists on the standalone as well).

Of all N64 games only Yoshi's Story doesn't like my 240hz monitor when playing it with this core.

@BParks21
Copy link

@Tasosgemah I always use true fullscreen with Retroarch. So that's probably why it runs smoothly for me. Except for Dolphin and PPSSPP, 30fps games always have micro stutter due to frame pacing problems. I like how you also experience frame pacing issues in Dolphin with 30fps games! Dolphin team refuses to believe me or can't see it. I've tested the issue across multiple Windows 10 systems they all produce the same micro stutter with 30 fps games. Dolphin libretro is even worse. PPSSPP has this problem as well. I hate it, the only solution is g-sync but i like to play on my tv so that's not really a solution.

@BParks21
Copy link

@m4xw Okay i retested yoshi with the new core option with stripped mode on and the backgrounds in levels are working again. I must have forgotten to restart the core to apply the settings. So that is fine. Still per pixel lighting causes multi colored blocks.

@Immersion95
Copy link

@Immersion95 can u try removing this hack and using stripped?
Will be out for the rest of the day in a bit

texturedRectSpecial = texturedRectBGCopy;

Hi, sorry it's out of reach for me :(

@m4xw
Copy link
Collaborator

m4xw commented Sep 16, 2019

@BParks21 actually i encountered that same Issue on switch before, otherwise i would be more doubtful of a actual issue.
There is def. some kind of regression going on, at least for bgOnePiece

@m4xw
Copy link
Collaborator

m4xw commented Oct 1, 2019

@Tasosgemah Don't think this should change much, but try this build (recent develop):
mupen64plus_next_libretro.zip

@m4xw
Copy link
Collaborator

m4xw commented Oct 1, 2019

        { CORE_NAME "-BackgroundMode",
            "Background Mode; OnePiece|Stripped" },

it does^^

@Tasosgemah
Copy link
Author

Tasosgemah commented Oct 1, 2019

Yeah, the frame rate is still not smooth, unless i drop the screen at 60hz or use true full screen (that drops the screen at 60hz).

I deleted the previous message because i'm a moron and used a wrong core : /

@m4xw
Copy link
Collaborator

m4xw commented Oct 1, 2019

That is with striped or onepiece?
Honestly I think this must've happened before tho...
It doesn't make much sense, I'd need to bisect it but I can't reproduce..

@m4xw
Copy link
Collaborator

m4xw commented Oct 1, 2019

Can you quote me all your core options from the .cfg?

@Tasosgemah
Copy link
Author

https://pastebin.com/hSWYYdhK

OnePiece option fixes the frame rate issues but the game looks corrupted.

@m4xw
Copy link
Collaborator

m4xw commented Oct 1, 2019

I mean, Stripped is expensive, maybe your hw is just not good enough?
It drops Switch to like 10fps.
Also the core targets 60hz, so I think either way it will look like shit at your refresh rate.

@Tasosgemah
Copy link
Author

Tasosgemah commented Oct 1, 2019

I have an i5 4670 and a GTX 1060. The game runs full speed if i use full screen mode.

In windowed it stutters, but it still runs at 60fps according to the fps counter and i get smooth sound. Also, my CPU usage is low. Usually, if the PC is not up to par, you also get issues with the sound and the CPU usage is 100%.

This is a synchronization issue when you are using windowed full screen and you have a high refresh rate monitor. I guess it's something very niche so i don't expect it to be fixed, i can just use full screen for this particular game.

All other games run smoothly on my 240hz screen because 60hz syncs nicely in that rate.

@m4xw
Copy link
Collaborator

m4xw commented Oct 1, 2019

@Tasosgemah try "Less accurate blending mode: True", "Frame Duping: On", "EnableCopyColorToRDRAM : Sync" and maybe the fullspeed option, each independent.
And yea i'd expect it to stutter if you display 60Hz in 240Hz, pretty heavily on all games.
Is it maybe a PAL version?
That wouldn't scale smooth to 240Hz at all, at least for 60Hz frame duping would kinda work.

@Tasosgemah
Copy link
Author

In general, 60hz content is pretty perfect at 240hz. That's 60 x 4, basically so it syncs. All my games sync, all emulators, etc sync. Even this N64 core syncs. This particular game is the only one that doesn't when i use the stripped mode in windowed fullscreen. At least from the N64 games i tested.

The game is US 60hz.

I will test the other options you posted a bit later cause i can't use the PC long enough right now. Thank you very much for trying to help but this seems pretty niche so it's OK, it should be low priority IMO (i'm not an expert, you maybe have your own reasons for wanting to fix this).

@m4xw
Copy link
Collaborator

m4xw commented Oct 1, 2019

I dont consider duped frames "pretty perfect", but well, if it works for you.
Maybe the rom was label'd wrong tho?
I can't explain this behaviour.

@Tasosgemah
Copy link
Author

Tasosgemah commented Oct 1, 2019

Ok in the end i did test the other options you mentioned and there was no change.

I also used a fresh US rom from the no-intro pack.

The true full screen option fixes the issue because, as i mentioned, it forces the screen at native 60hz. I will just use an override for this game to force it to use full screen.

@m4xw
Copy link
Collaborator

m4xw commented Oct 1, 2019

:/

@Tasosgemah
Copy link
Author

Tasosgemah commented Oct 1, 2019

I guess i need to try as many 2D games as i can. Maybe Yoshi isn't the only game that does this. I did test Mischief Makers and it's smooth as silk in windowed fullscreen + 240hz. Gonna look for other similar games then and see if any other has the same behavior.

@m4xw
Copy link
Collaborator

m4xw commented Oct 14, 2019

Closed in favor of #117

@m4xw m4xw closed this as completed Oct 14, 2019
@m4xw
Copy link
Collaborator

m4xw commented Oct 22, 2019

@Tasosgemah try https://m4xw.net/nextcloud/index.php/s/WjiwarFn6aYS5px
inb4 its the same issue...

@Tasosgemah
Copy link
Author

If we are still talking about Yoshi, it still needs exclusive full screen to run smoothly on my monitor.

@m4xw
Copy link
Collaborator

m4xw commented Oct 23, 2019

Do you have a retroarch debug build?
You need to compile with ./configure --enable-debug and I need a --verbose log.

@Tasosgemah
Copy link
Author

@m4xw
Copy link
Collaborator

m4xw commented Oct 23, 2019

Thats not a debug build :/

@Tasosgemah
Copy link
Author

Sorry man, i don't know how to compile or anything. My skills go as far as a peasant end user.

@Tasosgemah
Copy link
Author

Tasosgemah commented Oct 23, 2019

But anyway, this isn't an issue for me at all, it's just one game that i have to play with exclusive full screen. I don't know if you are trying to help or you are too curious about what's causing this ultra niche issue :P No offense i hope, either way i'm thankful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants