Project

General

Profile

Actions

Emulator Issues #6756

closed

Kirby's Return to Dreamland - Enabling Frame Skip causes frames to fail rendering

Added by Rupeeclock over 11 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

Game Name - Kirby's Return to Dreamland

Game ID - SUKE01

What went wrong - When Frame Skip is set to 1 or higher, the game fails to render many frames, with frames turning blank, solid light sky blue in colour. Some frames still render correctly.

What did you expect to happen instead - Naturally I'd expect frames that are not skipped to be rendered as normal. Every other Wii and Gamecube title I have tested not does not have this issue with frame skipping.

What steps will reproduce the problem?

  1. Boot the game
  2. Enable Frame Skipping of 1 or more (can be done prior to booting the game)
  3. Frames are now failing to render, it can happen as early as the Wii Remote safety screen, on the title screen, and in actual gameplay.

It is curiously possible to fix the frame rendering issue by simply opening the Graphics Configuration whilst the game is running. Once this is done, frame rendering issues vanish, a simple open and close with no changes made to configuration.

Which versions of Dolphin did you test on - Dolphin 4.0.1

Which version of Dolphin used to work - As far as I'm aware, this frame skipping issue has been long standing for Kirby's Return to Dreamland. The issue remains in 4.0.1.

What are your PC specifications (example: Operating System, CPU and GPU)?
Desktop - Windows 7 32bit, Intel Core 2 Duo e8600 @ 3.6Ghz, ATI Radeon HD4850.
Laptop - Windows 7 64bit, Intel i7 2640m @ 2.8Ghz, Intel HD Graphics 3000.

64 or 32 bit Operating System - 32bit on desktop, 64bit on laptop.

64 or 32 bit Dolphin - 32bit on desktop, 64bit on laptop.

Rendering failure occurs on both Direct3D11 and OpenGl backends.
Issues persist with XFB disabled, or enabled with either virtual or real, regardless of texture cache settings, EFB copy set to RAM or texture, internal resolution default or increased. The only way to resolve the issue until next boot is to simply open the graphics configuration.
Further testing showed that simply opening the graphics configuration isn't enough, but that XFB is also disabled. If XFB is already disabled when the graphics configuration is opened, the rendering issue gets resolved.

Actions #1

Updated by degasus over 11 years ago

As lots of games uses efb copys which aren't copyed per frame, this is a common issue of frameskip.

Maybe we could store in ini files if frameskip is save in each game, but I don't think it's worth.

Actions #2

Updated by Rupeeclock over 11 years ago

Mega Man 9 and 10 also seem to take issue with frame skip, but the part that intrigues me is that Kirby's frameskip issue is alleviated by simply opening the graphics configuration window, provided XFB is already disabled.

Actions #3

Updated by kostamarino over 11 years ago

  • Status changed from New to Questionable

Kirby's Return to Dreamland needs xfb for some minigames or the game will crash. Frameskipping is just a hack and not that useful in dolphin, if you want that much to use it and break the game for you then override the setting with info from here:
https://forums.dolphin-emu.org/Thread-how-to-use-gameini-settings-per-game
The setting in the game ini won't change and i doubt that frameskipping will be "fixed", it is a hack and therefore might break stuff or don't work properly due to its nature.

Actions #4

Updated by Rupeeclock over 11 years ago

Is frame skip truly a hack? It is a feature made available in most every emulator conceivable, and I would think it more of a display/rendering option akin to v-sync or triple-bummering. Processing the frames is not the same as displaying them to my knowledge.

If the current state of frame skip is indeed very hacky, it should be considered an area for improvement as a viable frame skipping solution may prove very beneficial to the Android effort.
Being able to process a full 60 frames and display 30/60 FPS without lag on less powerful devices could be ideal, and make Dolphin viable for them.

The current state of frame skip seems to be that Dolphin always tries to attain a full framerate, but if it cannot produce full frames it instead allows itself to drop frames instead of experience slowdown if frame skip is enabled. I feel that alternatively enable a frame skip of 1 should be capping the frame output at 50% instead of behaving as it does now.

Actions #5

Updated by pauldacheez over 11 years ago

Dolphin's frameskip skips rendering frames at all. Games can use the output of previous frames as input for a subsequent frame. If the frame's never rendered, what's the game supposed to use? And if you fix it by just rendering every frame and not displaying half of them (like most other emulators probably do), you don't get any speedup, so what's the point of having frameskip at all?

Also, yeah, it'd be nice if frameskip were more configurable.

Actions #6

Updated by MayImilae over 11 years ago

  • Status changed from Questionable to Invalid

"Is frame skip truly a hack? It is a feature made available in most every emulator conceivable"

Dolphin is not every other emulator. NES, SNES, GBA, these are all extremely primitive systems 15-30 years in age. The Wii is not that. It operates closer to a modern computer, making it very very complex with a ton of things going on at once. Frameskipping is not something you can expect to "just work" when emulating something so complex. It's a hack.

Actions #7

Updated by Rupeeclock over 11 years ago

Meaning then that Dolphin's implementation of frameskip is a hack and not a feature, unlike many other emulators.
If it is considered a hack should it not be reflected as such in the program?

Actions

Also available in: Atom PDF