This emulator is a broken mess in its current state. Using a windows 10 computer with a GTX 970 and two different plugins, the default jabo one and the new glide plugin that was crowd funded and works perfectly with pj64k 0.13 (
http://gliden64.blogspot.ru/2015/05/public-release-1-update-1.html):
GLIDE
- Launches and runs just fine offline with automatic fullscreen enabled. With vsync forced off through nvidia control panel, this is the most input-lagless the game has ever felt playing it offline on an emulator.
- Literally crashes and BSOD's my computer in any other way. Offline windowed, Kaillera fullscreen, kaillera windowed.
JABO
- Doesn't crash. Graphics are the most broken I've ever seen them on emulation. Fullscreen is seizure inducing and playing on kaillera forces 58 FPS which is awful. DWM issue is super apparent here because when the emulator constantly runs at 58 FPS, it looks like it's barely reaching 30 FPS.
It's unplayable at this point. Once again I'd like to emphasize that there is a very real framerate issue that will plague anyone using windows 8 and up from this point on (or anyone using aero on 7/Vista). DWM (Desktop Windows Management) is enabled when aero is on and it's FORCED on no matter what on windows 8/10. DWM forces vsync on any windowed application. I won't go too much into details of how vsync works but for non PC savy people, vsync forces the graphics card to only send frames to the monitor at a maximum of 60 FPS. It does this by forcing the graphics card to wait every 16.6666 ms to send the next frame to the monitor (This also causes input lag). This is not a problem if a game is rendering at a framerate higher than 60 fps. However, if a game is rendering at a framerate lower than 60 fps, it means that each frame takes longer than 16.666 ms to render. This means that every other frame the game will take too long to render a frame and has to wait for the NEXT 16.666 ms cycle for vsync to update the monitor. This will happen every other frame and only half the frames will get displayed. The result is that a game that isn't above 60 fps with vsync will drop down to 30 fps instantly or lower.
SSB64 is a 60 FPS game so theoretically it should run perfectly fine with vsync. However, due to tiny miscalculations in frame rendering and emulation, pj64k cannot constantly render ssb64 at a perfect 60 fps so it must eventually drop below 60 (even if by a fraction of a frame), which causes pj64k to display ssb64 in 30 fps in bursts. This is why playing with PJ64 2.2 on kaillera makes this really obvious, since running at 58 FPS with DWM will literally make the game display at around 30 fps constantly. Many people who play online with DWM do not notice these 30 fps bursts for whatever reasons, though I think one of these reasons is that when they see something odd with the game visually it's easier to blame it on online lag instead of identifying it as a very specific vsync issue, which is something that only dedicated PC gamers would know about and most ssb64 players are not PC gamers. Either way, these 30 fps bursts really disrupt the gameplay, not to mention that it adds input lag and overall makes the game feel different.
This problem has already been addressed by the online melee/brawl/P:M scene. Dolphin's most recent netplay build update included an exclusive fullscreen feature. When a game runs in fullscreen on windows, it skips DWM and can therefore turn vsync off, meaning that it runs with the least amount of input lag possible and zero framerate issues from windows. Obviously this is not possible with pj64k 0.13 since going into fullscreen desyncs the game. As you read above, 2.2 is not a stable alternative to 0.13. The other day I was able to play with nickthename for over an hour in fullscreen using Mupen64++ Beta 0.1.3.12. There were zero desyncs and zero framerate issues caused by windows or the emulator. Knitephox doesn't want to force his server to switch to mupen because of gameshark codes, aka playing in kirby beta 2 once in a blue moon is more important than people being able to play properly on any OS. I tried asking several people why they don't want to switch to another emulator and they responded with "We don't gain anything from switching". Sure, I guess laziness definitely an important factor towards keeping pj64k 0.13 and we should just tell any new/incoming player to downgrade to a 6+ year old windows operating system if they want good emulation.
TL;DR - SSB64 online is getting outdated and unplayable unless this community stops being stupid and switches to an emulator that wasn't made more than 10 years ago. I refuse to play on PJ64k 0.13 anymore