Project

General

Profile

Actions

Emulator Issues #12578

open

Metroid Prime Series - Map Rendering Performance Issue Documentation

Added by JMC4789 over 3 years ago. Updated about 2 years ago.

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

0%

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

Description

This is a bit of an archival of research on the Metroid Prime series map slowdown. Namely, when you open up and look at the map, there is a significant performance slowdown that rivals the most demanding points of almost any other game. The main perpetrator of this is Metroid Prime Trilogy, and more specifically Metroid Prime 2 in Metroid Prime Trilogy. But every Metroid Prime game's map is relatively difficult to emulate full speed.

We were using the attached fifolog for testing, as it was a worst case scenario in Metroid Prime 2's Trilogy version. The problem is that the Flipper/Broadway is alternating between rendering filled triangles and lines. Because it is constantly switching what it's doing, it's actually causing a huge batching issue. In this fifolog, there are almost 80K D3D calls and 10.8K draw calls.

There aren't many options to fix this either. Reordering will break rendering because it's drawing with blending on. Potentially, we could transform the vertices in software, but that would require going through the whole T&L process. Not only would this be difficult, but it would also be fairly slow. Stenzek's intuition says that it would be faster than the 80K D3D calls though.The most realistic solution would likely be a Twilight Princess style "patch" to reduce the draw call overhead while breaking rendering in a way that doesn't impact gameplay.


Files

prime2tri-mapslowdown.zip (286 KB) prime2tri-mapslowdown.zip JMC4789, 07/14/2021 10:30 AM
Actions

Also available in: Atom PDF