ata4 / angrylion-rdp-plus

A low-level N64 video emulation plugin, based on the pixel-perfect angrylion RDP plugin with some improvements.
155 stars 25 forks source link

Extreme lag in Goldeneye 007 Soviet Missile Silo #127

Open AlexN64gamer opened 2 years ago

AlexN64gamer commented 2 years ago

When you complete the mission, there's a sequence at the end showing the big explosion in one of the rooms it causes extreme lag on PJ64 latest version with angrylion rdp latest version too

RokkumanX commented 2 years ago

Even the real N64 was known to have lag with GoldenEye and all of it's explosions, I got them too.

However since AL+ is accuracy based the performance will of course take a hit one way or another but since I've seen your specs in another issue those specs should not be a problem handling the game.

Here are a couple of things you could try if you haven't already:

  1. Change compatibility in AL+ settings to fast (should be safe to use with GoldenEye, Paper Mario is the only game I have that needs to be higher with the dark rooms in the Toy Box with Watt)
  2. Try another RSP, cxd4 is great for accuracy but can sometimes be taxing, use the Projet64 RSP or the ParaLLEl RSP
  3. Use ParaLLEl RDP and ParaLLEl RSP, accurate N64 and better performance overall
Jj0YzL5nvJ commented 2 years ago

The N64 discard frames to maintain some fluidity with the audio, no emulator to date simulates said behaviour. When the N64 should "drop frames", the emulator drops the frame rate and the audio have interruptions. Simulating such behaviour would improve the quality of the emulation and probably fix some of the timing issues.

In real hardware the drop in frames has to reach absurd levels to affect the audio, in real hardware the audio is almost a time stamp. GoldenEye 007 is one of the games in which the frame rate can drop to such absurd levels with many explosions, smoke screens and shooting many times to a wall when you are too close.

"Workaround": #140

Relevant information: gonetz/GLideN64#1381

RokkumanX commented 2 years ago

I should just be quiet from now on, it seems I don't have clue of what I'm saying when a smarter person enters the room.

Ignore my comment @AlexN64gamer

Jj0YzL5nvJ commented 2 years ago

My original purpose was to complement your information, I only put more emphasis on empirical knowledge that is acquired when playing in the console. From my perspective, the frame drops in the N64 are an integral part of the games. But the frame drops from the N64 are more like what now is know as "dynamic frame rate", that is what remains without being emulated.

If your purpose is to enjoy the games, it will always be preferable to use the native RSP in the case of Project64 or use ParaLLEl RSP. I would only recommend using CXD4 RSP in case of glitches. "Busy loop" or "busy wait", is a must if your CPU have more of 6 threads, Fast is "async threads" and Slow means "sync threads". If busyloop is enabled, it will always be better to use Slow to be faster with less threads.