Emulator Issues #12578
openMetroid Prime Series - Map Rendering Performance Issue Documentation
0%
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