Stability problems can be broadly broken down into four categories, reflecting
the complex nature of an emulator:
- System
- Application
- Game
- Speed
System failures
This type of problem refers to a complete lock up of your PC or an operating
system STOP error (BSOD), usually requiring a hard reset of the system.
There are no known bugs in Project64 (we cannot vouch for 3rd party plugins,
of course) that would cause a system crash/lockup/other form of operating system
failure. If you experience such a problem while using Project64, it is very
likely that you have a hardware or driver or directx or operating system problem.
Run diagnostic software and check that your system is stable in other Direct3D
applications, games, benchmark utilities etc. Find some torture-testing utilities.
Consult hardware documentation if you need further help. You could try changing
plugins, and use dummy plugins to see if you can narrow down to one area thats
causing the problem (doesn't mean its necessarily a fault in that area of the
emulator, but that area of the complete system).
- Check that other applications are not leaving your system (particularly
video and DirectX) in an unusable state, by starting the OS with no other
applications.
- Check that the problem is not bad drivers, for example we have seen STOP
errors being caused by drivers froma specific hardware company - use Project64
on any other company's hardware and in the same situation it works fine. Contact
the appropriate organisation for technical support.
Application failures
This type of problem refers to an actual crash or hang in the Project64 application,
resulting in a generic Windows error messsage "this program has peformed
an illegal operation" or "this program is not responding" etc.
The exact type of message depends on your version of Windows, but the point
is that you are seeing a Windows error message not a Project64 error message
- in other words, Project64 has failed to handle an error, which could indicate
a bug in Project64 or a system failure:
- Are you running a supported game with the correct ROM settings? A small
number of games can cause Project64 to fail under some conditions.
- Is your hardware OK? Memory problems, overclocking etc. can cause applications
to fail.
Game failures
This type of error refers to an error in the Project64 application or plugin(s)
that is handled succesfuly by the application or plugin error handlers. a good
example of this is the "UnHandled OpCode" error (OK, the OpCode itself
is unhandled, but the situation is handled - you can end emulation, reboot the
game, or play another game, without Project64 crashing). Another example is
a graphics Access Violation. This type of error neary always indicates a bug
or a configuration error in the emulator.
- Are you running a supported game with the correct ROM settings? Almost any
game will crash without the correct configuration.
- Anything you can do to improve core security (ROM
Settings) may prevent the problem.
Troubleshooting
speed problemsThe first thing to understand is what speed
to expect from Project64 - as a rough guide, the
following specifications should be just
fast enough for each game at full speed with the
default configuration:
- Mario64 - P2-450Mhz ?
- Zelda - Athlon 800Mhz ?
- Perfect Dark - Athlon 1.2Ghz ?
Points:
- Not all the suggestions below will
improve performance for you. Some
will only reduce quality, stability etc. You
have to try them and see the effects for
yourself.
- Some of these suggestions have the
potential to do damage to your hardware or
software or data or all three. Any such
damage that results from your following the
suggestions listed on this page is entirely
your own responsiblity - take care and don't
do anything you are no confident you
understand - seek advice from hardware
internet sites etc. if you need to.
- As a general rule, FPS in Project64
depends on your CPU, not your graphics card,
because most users are CPU limited, not
graphics card limited, but the graphics card
can become the limiting factor at high
resolutions with high levels of FSAA, or if
you have a below
minimum spec. graphics card.
- The generally most significant
factors are listed first, descending to
the least significant (i.e. the most to the
least likely to help, in my opinion and
experience).
Check problem is not being caused by one of
your plugins - plugins can stall the emulator by
design or due to bugs in their coding.
Hardware level
- increase CPU clock rate or upgrade CPU
- increase font side bus/RAM clock rate
- add RAM if you are short*
- choose a CPU with SSE (& MMX!)
capability
- adjust RAM timings, cache timings etc.*
- increase graphics card clock rates*
- use PCI rather than ISA sound card
- disable any unneeded ports/hardware
- avoid IRQ sharing*
- use USB rather than Gameport input
devices
Driver level
- update drivers, video card drivers,
chipset drivers, sound drivers*
- use 16 bit colour desktop rather than
24/32*
- use lower level of anti-aliasing, or
none at all*
- disable Vsync
- disable multi-display if your system
supports it*
- use 16 bit z buffer (rather than 24/32)*
- use texture compression*
- lower or raise monitor refresh rate*
Operating System level
- shut down all non essential (background)
processes
- disable findfast/file indexing/system
restore/task scheduler etc.
- adjust process priorities
- use Win2K/XP series OS if you have
enough RAM (192MB+)
- use Win98SE if you don't have enough RAM
(WinME seems generally a bad choice)
- update DirectX version
- just rebooting Windows can help free
resources
- clean reinstall Windows in extreme
problem cases
- compact memory
- fix pagefile size
- move pagefile to fastest drive*
- defragment hard drive
- lower debug levels on DirectX
- don't use debug (usually beta) builds of
drivers or DirectX
Application level
- don't run
multiple instances of Project64
- fullscreen modes may be considerably
faster than windowed modes*
Emulator core
- use
Recompiler instead of Interpreter**
- disable Limit FPS - System > Limit FPS (This
will uncap the speed to that specific
region)
- enable
Register Caching**
- enable
Advanced Block Linking**
- enable
Larger Compiler Buffer**
- use less secure
method to handle self-modifying code**
- don't enable the
expansion pack if it's not needed**
-
state saving and loading sometimes helps
the recompiler**
- disable
TLB (but only if not needed!)**
plugins
- use the RSP recompiler core rather than
interpreter core
- don't use any form of Framebuffer
emulation
- don't enable Audio Sync on either audio plugin
- use a lower resolution
- use 16 bit colour modes rather than
24/32
- if you want true colour, use 32 bit
rather than 24*
*effectiveness depends on system (hardware)
** effectiveness depends on game
|