Project

General

Profile

Emulator Issues #8270

Disable Vertex Loader JIT when Bounding Box is needed on older GPUs

Added by Guitarkory1 over 4 years ago.

Status:
Fixed
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

[READ THIS: https://forums.dolphin-emu.org/showthread.php?pid=276132 <<<
Your answers are there!]
[Leave the questions as they are and answer them in the next line]
[Remove lines written inside brackets [], but nothing else]

Game Name?
Paper Mario 2

Game ID?

G8ME01

What's the problem? Describe what went wrong in few words.

Paper airplane transformations, Paper Boat transformations, flipping animations, and paper mode (by pressing "R" after getting the second black box in the game which should be towards the end of Chapter 1).

What did you expect to happen instead?
If you set texture to ram bbox should work and their shouldnt be graphical glitches in game.

What steps will reproduce the problem?
[Don't assume we have ever played the game and know any level names. Be as
specific as possible.]

Any setup will cause the problem.

Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?

dolphin 4.0-5637 x64

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
2.2 ghz i7 8 core processor and intel HD graphics chip

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
[Upload big files to a hosting service and post links here!]

https://forums.dolphin-emu.org/attachment.php?aid=12461

[Do not attach files to this issue. Upload them to another site and
link here. Use imgur.com for images and pastie.org for logs. Monitor the
email address that was used to create this issue.]


Related issues

Has duplicate Emulator - Emulator Issues #8276: Unknown Pointer error in Paper Mario TYDDuplicate

Has duplicate Emulator - Emulator Issues #8322: MURAMASA: The Demon Blade critical slow framerate in 4.0-4555+Duplicate

History

#1 Updated by degasus over 4 years ago

Which CPU/GPU do you have? This feature requires D3D11 or OGL 4.3 :/

Do you get the same result on both D3D and OGL?

#2 Updated by Guitarkory1 over 4 years ago

I have an intel i7 2.2 gz 8 core processor, and an intel 3000 graphics chip windows 7 x 64. I did get the same result on both d3d and ogl. this issue is similar to 7965, only this happens on the most recent version of dolphin.

#3 Updated by degasus over 4 years ago

HD3000, so second generation i7 CPU. Wikipedia tells me that at least the third generation is required for d3d11 support...

#4 Updated by Guitarkory1 over 4 years ago

Really, because I can use 3d11, it works for all of my other games (xenoblade chronicles, etc.

#5 Updated by Guitarkory1 over 4 years ago

I might be wrong about the graphics chip (dolphin only says HD graphics family), I dont have my laptop with me right now so I cant check.

#6 Updated by degasus over 4 years ago

Our "D3D11" backend mostly requires a .10 feature level GPU. bbox is one of the .11 feature level only features, just like zcomploc.

#7 Updated by Guitarkory1 over 4 years ago

so I cant fix it because I dont have a third generation processor?

#8 Updated by Guitarkory1 over 4 years ago

I forgot to mention it works on the stable release 4.0.2 with 3d11

#9 Updated by degasus over 4 years ago

You can disable the vertex loader jit as the old vertex loader has software bbox support built-in.

#10 Updated by Guitarkory1 over 4 years ago

how do you do that?

#11 Updated by Sonicadvance1 over 4 years ago

The only way is to modify the codebase to drop to the older slower codepath.
The alternative is to upgrade to a GPU that can handle OpenGL 4.3+

#12 Updated by Guitarkory1 over 4 years ago

Thanks for your help guys, I guess Ill just use an older version of dolphin until I can afford a new laptop. Maybe Ill try to modify the codebase later.

#14 Updated by magumagu9 over 4 years ago

issue 8276 has been merged into this issue.

#15 Updated by jeremy.cattau over 4 years ago

issue 8276 was mine. Are we aware of an older version of dolphin that works with this? OP said they would use an older version but didn't say which one.

#16 Updated by Guitarkory1 over 4 years ago

Yeah, the stable version works great, but I haven't found any of the newer version that work yet.

#17 Updated by jeremy.cattau over 4 years ago

Good to know, thanks for responding

#18 Updated by Guitarkory1 over 4 years ago

Also, I cant seem to fix the problem with the newest version, its going to take a better programmer than me, probably a developer.

#19 Updated by jeremy.cattau over 4 years ago

Unfortunately the latest stable version doesn't work for me either. When i try to launch it i get an error "Failed to losd d3dx11_42.dll, update your Dx11 runtime, please". I did update that but no luck. Direct3d9 and OpenGL are far too slow.

#20 Updated by Jayblackyo over 4 years ago

I have the same issue as Jeremy with the boat crossing the screen then it fading to white. I just purchased a controller specifically for playing this game, so I'm incredibly disappointed. Are there any updates or anything else I can try on my end?

#21 Updated by JMC4789 over 4 years ago

Get a computer that can run GameCube and Wii games at playable speeds? At some point, it's just not possible for old computers to run some games.

#22 Updated by jeremy.cattau over 4 years ago

You must have a low end GPU like me. As of now i don't have a way to play it. Stable doesn't work for be either. We either have to get a new GPU (or new computer in my case) oor wait and see if these developers can work magic.

#23 Updated by JMC4789 over 4 years ago

If stable doesn't work for you, then there's nothing we can do. It uses no fancy GPU features like latest master to speed it up. Your computer is having problems with D3D11 even and that has nothing to do with Dolphin.

#24 Updated by jeremy.cattau over 4 years ago

I just find it odd I can run every other game I've tried with no issues. Mario Kart Double Dash, Mario Kart Wii, Mario Strikers, Super Smash Bros Melee, Mario Party 4 and 5....all with the D3D11 option in Graphic Settings and I get a consistent 60fps with all of them. Paper Mario is the only one I have trouble with right now. 3D311 didn't work on Stable but it works on Development.

#25 Updated by Jayblackyo over 4 years ago

I apologize for my ignorance, but I don't know what most of that means. My computer is two years old, how recent a computer should be able to run this?

#26 Updated by jeremy.cattau over 4 years ago

Jay, the GPU is your graphics card. If your computer is 2 years old I am assuming it is a laptop with a poor processor and integrated graphics and is probably only good for email, internet, and school work. My laptop is 5 years old with a decent processor and a not-so-great GPU where I can run all games but Paper Mario so far.

#27 Updated by Jayblackyo over 4 years ago

With some digging, I've got a Intel HD Graphics 4000.

#28 Updated by jeremy.cattau over 4 years ago

That's better than mine technically

#29 Updated by Jayblackyo over 4 years ago

I suppose I'm out of luck.

#30 Updated by jeremy.cattau over 4 years ago

I just tried something for the hell of it. I loaded Paper Mario on the Stable version using D3D9. It was painfully slow, but I did get past the part we are having trouble with and was able to save the game. I then restarted the game up with the latest dev build and I am able to play quite normally. The graphics messed up after the first battle though. A bunch of enemies try to jump on you and you escape. All I saw were black shadows, but they are supposed to look like the enemies at 2:20 in this video https://www.youtube.com/watch?v=COawRaqc4lM

I'll probably encounter more issues, but I'll play it this way until then.

#31 Updated by JMC4789 over 4 years ago

You're literally playing the game without bounding box support, something it uses for a ton of special effects. Yes, newer dev builds are much faster, but when you're lacking a key feature. (which, you could enable software bounding box if you modified the code, but that would slow down the emulator for you.)

#32 Updated by Jayblackyo over 4 years ago

I also was able to work around it Jeremy, thanks for the suggestion! I'll continue playing this way then using the workaround when/if I hit other errors. Painfully slow was a very apt way to describe it. Thanks again.

#33 Updated by jeremy.cattau over 4 years ago

JMC is there a list of games that use bounding box that we can look at to know which games we likely won't be able to play? I think it's probably a given i will encounter more issues with Paper Mario so i don't really want to invest the time to play it and get stuck.

#34 Updated by Jayblackyo over 4 years ago

I've been playing it for 20 minutes or so and anything that uses stronger animation like all the paper peeling effects of which this game has many the game just stops. Music keeps playing but the animation never takes place. It works but very slowly with stable. So basically play the majority of the game in stable. Doesn't seem like this is going to work.

#35 Updated by JMC4789 over 4 years ago

Try going to a build before the hardware bounding box was implemented. That way the game will be playable, and it's probably still a lot faster than 4.0.

#36 Updated by jeremy.cattau over 4 years ago

I tried it out on stable 3.5 and i was able to get through the boat part and i actually saw the enemies attacking me in the prologue but I'm only getting about 35 to 40 fps. I'll probably just have to call it quits on Paper Mario.

#37 Updated by Guitarkory1 over 4 years ago

The version that broke the game was 5143, any version before 5143 works like it should (bbox working perfectly), the latest version that worked before 5143 was 5124. 5143 was when they implemented the vertexloader: rewrite JIT.

#38 Updated by jeremy.cattau over 4 years ago

I'm going to try that version now. My biggest issue is the frame rate right now since 3.5 didn't error out

#39 Updated by flacs over 4 years ago

It's known that the new vertex loader JIT doesn't support software bounding box. Obviously, any version before 4.0-5143 will work for you (and will most likely also be slower).

Please only comment if you actually have new information beyond that. If you would like to discuss older versions/unsupported hardware, please use the forum.

#40 Updated by jeremy.cattau over 4 years ago

Guitar, you are absolutely correct. I just tested out Paper Mario on 5124 and the boat scene and prologue characters I couldn't see before were no issue and I am getting a constant 53-60fps which is totally playable. Thank you for finding this, and I hope the devs can somehow implement this as an option in future builds.

#41 Updated by jeremy.cattau over 4 years ago

Til, you mention it would likely be slower but i get closer to 60fps than i did on any other version. There's something about 5124 that's makes it faster in my case. Not sure what but it helps folks like me :)

#42 Updated by Jayblackyo over 4 years ago

5124 has had some slow points for me as well but generally runs well and the animations work. Thanks guys!

#43 Updated by flacs over 4 years ago

  • Status changed from New to Fix pending

#44 Updated by JMC4789 over 4 years ago

issue 8322 has been merged into this issue.

#45 Updated by flacs over 4 years ago

  • Status changed from Fix pending to Accepted

Closed the PR because disabling the vertex loader JITs for every game seems overkill. A game-specific INI option would be better imho.

#46 Updated by degasus over 4 years ago

  • Status changed from Accepted to Fixed

bbox is no disabled by default. Also the bbox fallback is touched to not crash Paper Mario. But expect GFX issues if you don't have an OGL4 GPU.

The SW path is removed, so there is no need to disable the vertex loader jit any more.

#47 Updated by AHeinerm over 4 years ago

I'd rather disable vertex loader JIT and get an accurate emulation of the game. Now we have the pre-bbox glitches that caused more than just graphical issues.

#48 Updated by degasus over 4 years ago

The accurate emulation is to use the hardware bbox code. The old code wasn't accurate at all.

#49 Updated by AHeinerm over 4 years ago

The old code generated visibly correct output.

#50 Updated by AHeinerm over 4 years ago

I'll be maintaining a fork with the old implementation for any users with crap hardware like mine.

#51 Updated by aldelaro5 over 4 years ago

Well, a fork might actually be better for me in the mean time, but I'm quite unfamiliar with how forks work so, where should I go once the fork is ready?

#52 Updated by degasus over 4 years ago

AHeinerm: If you're going to need some help, feel free to ask me on #dolphin-dev. I'm always looking for other ways to implement such features. I'm just against the way of the old "software" implemention. But I'm looking forwards to a technical discussion :D

Also available in: Atom PDF