What's new

Games framerate smoother than on real hardware ?

q_armando

New member
Hi everybody,
I am a new member but not new to the emulation scene.
Beeng a big Nintendo fan, I still keep all my original systems included the N64 which is still working and connected to my TV, but for some reason I prefer to play the games on my PC, and trough emulation I can play several systems on the same monitor, with the same joypad , and in some cases with improved graphics ( like with PJ64).
The newest PJ64 1.6 release is the first one that allows me to play emulated N64 games at nearly perfect speed and I love the high resolution graphics.
But the thing that mostly annoyed me on the real machine is the choppy framerate that many games suffer of.
Now when I play an older PC game on my new PC I can enjoy better graphics and usually a rock solid smooth framerate, and I tought it would be nice to have the same thing with a N64 emulator, even thought I know that the final goal of emulation is to faithfully emulate the original harware in good and bad.
But you guys did a terrific job in rendering those games in higher resolution making them even more enjoyable on my 17 inches CRT monitor.

But the biggest surprise I had it by playing QUAKE 2 just yesterday.While there are some gliches ( like a blue background instead of black on the start screen) and having to activate the advance option " Use direct 3d transformation pipeline " in order to make objects not visible trough walls , the games runs at a rock solid 60fps smooth like the (now pretty old ) PC version !!!
I thought it was kind of strange for the game to be so smooth,and I decided to take a look at the original on the real N64 hardware, and beside beeing much uglier due to the much lower resulution, the game is fast but does not play as smooth as the emulated one under PJ64. Now I have been looking at the custom ini files and FAQ to try to understand how this is possible, and I tried the same custom options with DOOM 64 hoping to replicate the fenomenum. But with bad luck, Doom 64 still plays pretty smooth but just as much as the original, nothing more.
I am getting restless to find an answere, because it would be amazing to play more games at a perfectly smooth as silk 60fps!!!!
I even thought maybe it's because Quake 2 was ported over from the PC and coming back on the original platform was improving it drammatically, but then it still runs under an emulator.
Can you find out why a game can be so much smoother than the original ?

The other issue that I have ( and at this point I have to apologize for the lenght of the tread , but I think it might be helpful to the authors) is that on my system , some times, quite often actually, and I think randomly, by switching between full-screen and windowed mode my computer crashes and the only thing I can do is power it off. It also happens sometime when I quit the emulation with F12 when I am in full screen mode.
I got the following message over a blue dos screen:

****************************
Windows shot down to prevent damage to your computer.....
....problem caused by file : nv4_disp.dll
PAGE_FAULT_IN_NONPAGED_AREA

*** STOP : 0X00000050(0XEZE8ICE4,0X00000000,0XBFA70558,0X00000001)
*** nv4_disp.dll - address BFA70558 BASE AT BF9B7000,Datestamp 42b0d02c

****************************************
This problem is much frustrating because I am always afraid to switch mode because of what might happen, but sometimes I have to access options and I am forced to go to widowed mode and 5 out of 10 I have to manually shot down and restart my system.I recognize it has somethinf to do with my video card or drivers,and I did also install the latest nvidia driver just an hour ago ( version 77.XX I think ) and my directx version is 9.0c, still no luck.
Is there anything I can do about this ?
Regardless of the few problem I mentioned, the emulator is wonderful and I am spendig most of my free time using it , even loosing my sleep !!
My sincere congraturations to the authors for putting toghether such a marvellous application defining an achievement in programming skills and thank you for giving it to us.

Regards
Armando Quaranta

Windows XP Home Edition v2002 SP 1
Pentium(R) 4 CPU 2.80GHz 1.50GB DDR RAM
nVidia Geforce 6800 GT 256MB
SoundBalster Live!
 
Last edited:

ScottJC

At your service, dood!
Q1. Can you find out why a game can be so much smoother than the original ?

A1. Emulation Timing is not exactly 100% perfect, you can make any game smoother by setting the CF number to a lower number, i.e. CF2 to CF1 makes any game run faster at the expense of being more cpu intensive.

Right click a rom in the rom browser and click "properties" and you'll get that option there, higher the CF number the jerkier it is. Its safe to say the N64 never worked on a CF (Counter Factor) way so its not always going to be right but it is close.

CF is just basicly the amount of time the N64 emulated cpu waits to do certain things so it can effect timing drastically.

Q2: The crashing thing

A2: Best I can think of is that your video card drivers are doing that, In fact i'm almost certain it is considering the "nv4_disp.dll" thing. I can't really suggest anything along that lines because I never experienced this problem. Older drivers may get rid of it.

Longshot Idea (May not help at all): Do you have up to date Motherboard chipset drivers installed, I don't know what type of motherboard you have so I couldn't tell you which you would need, i'm guessing its an Intel chipset which means if i'm right you need to update those.

They control the graphics card interface and can cause all sorts of havok which is wierd and unpredictable, it might not be intel though.
 

deathace

New member
I believe CF1 is the closest to real N64 timing. CF2 is very inconsistent in updating the image and will look jerky. Btw, how does the CF thing work in 1964? I set the CF to 1 in 1964 but it seems to still be jerky, is there any way to make it smooth like the CF1 in Pj64?
 

ScottJC

At your service, dood!
deathace, no, CF1 is not always closest, it depends on the game which CF is closer, take Perfect Dark for example... you set that on CF1 and it runs smooth as silk.

On the n64, this game does not run that well at all. If you can't run Perfect Dark on the default settings don't even try CF1 :p

/me runs on CF1 because his system roxxors. *gloats!*
 
OP
q_armando

q_armando

New member
Well thanks, I will try to update my Motherboard chipset drivers, otherwise I will just have to live with the problem.
I was wondering about QUake 2 because is not only fast ( not faster then the original anyway ) but is extremely smooth, and am asking because if a game can be smoother then on the real hardware I am considering to get a better PC to improve overall performance and get smoother framerate with more games, that is if I can replicate the same circumstances.
Thanks for your help.
 
OP
q_armando

q_armando

New member
By the way , now I have a better idea of what CF is, and I noticed that by setting the number to 1 helps to smooth things out in several games.
Reguarding the crashing thing I think I got a workaround for the moment: I am gonna use for the full screen emulation the same resolution and refresh rate as my desktop, this way seems to avoid the random crash by entering and leaving full screen mode.
I used a different custom resolution ( i think 1280x960) in order to make the borders disappear with my monitor controls, without affecting other applications, now I will leave with the sometimes corrupted border but without having to restart my system several times....:)

armando
 

deathace

New member
I believe CF1 is the closest because it will still run the game at the designated fps (most games run at 30) without any frameskipping, which is how the real N64 is. CF2 makes it skip one frame every cycle, which I'm sure the real N64 doesn't do.
 

ScottJC

At your service, dood!
Deathace, dunno where you pull your info but you got it wrong, you load an n64 game into your original n64 and play it through the tv... no frameskip... maybe but it definitely doesn't always run at 30fps.

Take Zelda OOT, it manages an average of 20fps, that's a slight slowdown graphically, is it not? The fact of the matter is Counter Factor is NOT how the original system operates, its a method of timing jabo, schibo, zilmar and all the other authors have used with their emulator cores.

CF1 isn't frameskipping, it's just processing instructions at a faster rate and most often faster than it should run. see CF dictates how quickly instructions are processed by the core.

Open Wetrix with CF1 on Project and marval at its speed, it runs at about three times the speed it should, thats why CF3 is more accurate for that game :p - No emulated timing is 100% perfect, and no CF setting will make that true, it will however make it close.

Real N64 should not be smooth as it is on Project64 with CF1 and the game Perfect Dark, the real N64 runs this game a lot slower by visual terms.
 
Last edited:
OP
q_armando

q_armando

New member
So I assume that if perfect dark framerate is still jerky with project 64 and CF1 is the best I can pull off with my PC processing power ? Therefore getting a more powerful CPU would make the game smooth as Quake 2 ?
More exactly my point is if I get a higher spec system will perfect dark look rock-solid-50fps smooth as silk?
Does anybody with an high end PC get " a perfect framerate " with more games then I do ?
The only one so far to give me such a pleasure as I stated before is Quake 2. But even the (apparently ) less demanding Doom 64 engine is not quite as smooth no matter wich Counter Factor setting do I use.
Anybody out there ? :)
Armando
 

ScottJC

At your service, dood!
Emulation isn't like a PC game, you can't just slap in a fast processor and expect it to be smoother, bottom line, if you have a fast enough pc to run Perfect Dark with CF1 and it has no slowdown whatsoever... having a faster CPU will yield the same result, Perfect Dark equally as smooth. Perfect Dark is pretty smooth on CF2 as well.

Unlike Half Life 2, years from now if I slap in a new processor thats 6ghz and some radeon 10000, i'd probably get over 1000fps and it would be smoother... Project64, however would give me the same "smooth" result. (that's disregarding the frame limiter).

N64 isn't the worlds most powerful machine either, it isn't "supposed" to run better than it is, if it runs like crap on the n64 it should run like crap on the emulator. I know for a fact Perfect Dark doesn't run that well on a real N64, you only get that kind of performance because of incorrect timing and configurations. you're essentially "overclocking" the way the cores supposed to run in this situation.
 
Last edited:

gandalf

Member ready to help
well, in some cases, emulating certain game on an nice hardware, will be more smoother than N64 in the same game.
example, banjo kazooie, there´s some cases that N64 gets really slow, and in an emulator the game runs really great in the same part that the original hardware gets too slow.
Or another one, the final in Zelda OoT (fight with ganondorf, not Ganon),when you hit an "light arrow" to ganondorf, there´s an nice effect, really heavy for N64, and gets really slow, but in an emulator and nice hardware, that slowdown doesn´t happen.

In the most of the cases the FPS are "limited".
It´s not the same like an PC Game
 
OP
q_armando

q_armando

New member
When you start Project64 right click on the name of the rom you want to edit and choose from the pull down menu " Edit game settings"
 
OP
q_armando

q_armando

New member
ScottJC said:
Emulation isn't like a PC game, you can't just slap in a fast processor and expect it to be smoother, bottom line, if you have a fast enough pc to run Perfect Dark with CF1 and it has no slowdown whatsoever... having a faster CPU will yield the same result, Perfect Dark equally as smooth. Perfect Dark is pretty smooth on CF2 as well.

Unlike Half Life 2, years from now if I slap in a new processor thats 6ghz and some radeon 10000, i'd probably get over 1000fps and it would be smoother... Project64, however would give me the same "smooth" result. (that's disregarding the frame limiter).

N64 isn't the worlds most powerful machine either, it isn't "supposed" to run better than it is, if it runs like crap on the n64 it should run like crap on the emulator. I know for a fact Perfect Dark doesn't run that well on a real N64, you only get that kind of performance because of incorrect timing and configurations. you're essentially "overclocking" the way the cores supposed to run in this situation.

Yes I agree, as I stated in my first post I know what emulation is all about.
But why does Quake 2 run so perfectly smooth as the PC counter part ?
What if I get a bette PC ? Will Other games be smoother as well ? And if not , what's the reason for Quake 2 to be so smooh ? Because is a PC port or whatever ?
And are there other games which could benefict from a better hardware ?
 

gandalf

Member ready to help
q_armando said:
And are there other games which could benefict from a better hardware ?

helloooo..read my post....
and for quake2...mabe it´s running at 60FPS? (check with fraps)
 
OP
q_armando

q_armando

New member
gandalf said:
helloooo..read my post....
and for quake2...mabe it´s running at 60FPS? (check with fraps)

Thanks , I read your post and find it usefull, however I was hoping that somebody with a much better PC configuration than mine would confirm that on a real nice hardware some games are really more playable/smoother/slowdownfree then on the real N64 itself.
You see Quake 2 runs at 60fps, like any other (U) title in my collection, but where the others stay true to the N64 choppiness, even some games less cpu intense then quake 2(even quake 64 is just like on the original N64), quake 2 runs perfectly smooth ( like when you disable the fps limit with F4) and at the correct speed.This makes it really an exepcion, as I did try with more then 50 games and none of them get even close to the perfection.
I was just wandering, that's all, maybe is a bad timing issues that gives the unexpected welcome side effects. I just wanted do dig in there a little bit more and find out why.And nobody confirmed that quake 2 runs just equally as smooth on their PCs.
Anyway I am just happy for it and I will enjoy the game the way it is !:icecream:
By the way, how do you attach your system-specs at the bottom of every message ? I know how to attach the signature, so do I have to edit my signature and put my system specs there or there is a way to display them automatically ( since I already entered them in my profile)

Thanks Again

Windows XP Home Edition v2002 SP 1
Pentium(R) 4 CPU 2.80GHz 1.50GB DDR RAM
nVidia Geforce 6800 GT 256MB
SoundBalster Live!
 

Doomulation

?????????????????????????
What if you think of it this way...?
Normally, the processing power of then 64 pulls of the gfx at a decent rate. But at heavy scenes, it cannot cope, hence a slow down. Now, the pc must execute the instructions at the same rate, else things will go too fast. Again, this will mean that these heavy scenes slow down.
Although timing is more complicated than that, that's the basic point. There's really no gaurantee to raise the fps. Some games also does some weird stuff and using the fps or something in its calculations, so raising/lowering the fps there might cause unexpected effects.
 

gamefreaks

New member
Another thing to remember is that a lot of games will use FPS throttling!

IE: There will be a loop in the N64 game code like this:

bool CThrottle::SetTargetFPS(DWORD fps)
{
//Due to floating point math, this function should only
//be called on game init or when absolutely needed.

double t; //This is so we don't get bad rounding errors!
target_fps = fps;
t = (1000/fps);
ticks_per_frame = (DWORD)t;
return true;
}

void CThrottle::WaitNextFrame()
{
t2 = t1 + ticks_per_frame;
t3 = t2 - GetTickCount();

if(t3 > 0)
Sleep(t3);

t1 = t2;
}
 

C&C Freak 2K

Emutalk Member
For future reference, nv4_disp.dll is the core for nVidia drivers (I believe maybe because the first nVidia card with video out of any kind had an NV4 on it?). Errors in this typically indicate bad driver useage, bad drivers, or a bad video card.
 
OP
q_armando

q_armando

New member
So do you mean my videocard might be faulty or is it merely a matter of right drivers/right release ?
 

Top