Next Generation Emulation banner

1 - 9 of 9 Posts

·
Registered
Joined
·
31 Posts
Discussion Starter #1
Is there a way to set framelimit to 30 instead of 60 but keep the game speed normal? 'Cause when I set it to anything less then 60 everything (Sound, movement) gets slowed down, but all I want is a CONSISTANT fps. In most PC games if I limit to FPS to 30 it looks a whole lot nicer then when its jumping around from 45 to 50 and all over the place.

I guess what I want is for the engine to run at 60fps and have the GPU slow down so it's always at 30 (It never goes lower anyways) so the extra power gained from slowing the GOU can go into perfect sound and movement emulation.
 

·
Premium Member
Joined
·
8,586 Posts
The framerate in all the gpus seems more likely to be just percentages of actual psx game framerates... If it says 60 fps in the gpu the game is actually running at 30 fps.... The reason being is because most psx games don't even run at 60 fps...

60fps in gpu means: 100 % speed of actual psx game = 30 fps..
30fps in gpu means: 50 % of actual speed in psx game = 15 fps..

There is a special game fixe in petes ogl... "use pc fps calc" ... set framerate and limit to auto and enable special game fixes using that settingl.. The gpu will then show you the game running at 30 fps..the actuall fps the psx game runs at... There are still some timing problems even with this setting though, so nothing makes it run perfect...

WOW!! I am totally Crazy!!
 

·
Registered
Joined
·
1,830 Posts
Haha you are totally crazy! fivefeet8

Kevman, upgrading your system with faster CPU or faster/powreful graphics card will help stabilize your framerate. People with 1Ghz+ and a GF2 GTS or better usually see constant 60fps.
 

·
Super Moderator
Joined
·
6,283 Posts
You don't need 1GHz to get constant 60 fps!
I used to have 60 fps with 4x FSAA with my old P3 550.
 

·
Registered
Joined
·
1,830 Posts
Hmmm.
Ok that sounds right to me. I think its really the GF2 that does it for you. I have a Celeron 600 @ 900Mhz and a TNT2 Ultra(also overclocked) and my fps usually jump around a bit. Its usually not more than 3 frames though.
 

·
Super Moderator
Joined
·
6,283 Posts
Are you using autodetect in Pete's GPU?
Then set a manual limit and it won't jump anymore.
 

·
Registered
Joined
·
1,830 Posts
Here's what I've done.
I set it to auto...I get fps jumps (about +/-5fps) and skipping sound.
I set it to manual 60fps...the fps jumps back and forth from 60 to 58 and the sound is improved, but not perfect(I mean as perfect as ePSXe can get with its flawed timing;))
I set the fps to manual 61fps...I still get fps jumps from 61 to 59 which averages out to 60fps. I think the sound is as good as it's going to get until some core timing flaws are fixed.
If you have any ideas I'll try them, but I've already tried lots of settings and plugins.
In other words I'm content with the setup for now.
bye,
Adair
 

·
Kupo kupo?
Joined
·
93 Posts
i think that's weird too
I always played games like quake2 fine with my Good ol' Trident9440/2Mb at 20/30Fps
But in PSX Things need to Be Axactly at 60FPS

But if what fivefeet8 says is correct, that explains all.
But sure PSX emulation IS SLOW needs a 500Mhz to get 30FPS on games that use a 33Mhz(not sure about that) processor console.
 

·
Premium Member
Joined
·
874 Posts
I guess what I want is for the engine to run at 60fps and have the GPU slow down so it's always at 30 (It never goes lower anyways) so the extra power gained from slowing the GOU can go into perfect sound and movement emulation.
Ok, let's try to explain that in easy words: the real psx has a vsync signal which is triggered 60 (or 50 in PAL systems) times per second. On each signal the screen gets refreshed. Not every refresh is showing a new picture, though... some games will have a new frame on every vsync (so you could say they run at 60 PC FPS), some games are doing a new frames every 2. vsync (30 FPS), but they also can do frames at more odd timings (for example a new frame after 3 vsync signals, after that a frame after 2 vsync signals, then 3 again...).

So, the 'right' PC FPS can vary from 12 to 60 fps, depending on the game... bah.

In previous gpu plugin versions the gpu plugin calculated and showed the PC FPS... so you had the values 30 or 60 (depending on the interlaced modes). But it was very hard for the plugins to detect the more 'strange' timings, causing big sound glitches (the sound has to be in sync with the gfx, or you will get pauses or noise).

On _Demo_'s suggestion Lewpy and me are now using and displaying the psx vsync signal instead of the real pc frames... it makes it somewhat easier to get the stranger timings right... and if you see 60 fps with activated limitation you can be sure the game is running at the right speed (as long as the vsync signal is emulated correctly by the main emu).

Of course there are small drawbacks with the new fps calculation: depending on your system's speed it may happen that the 'limitation' option is eating a bit too much cpu cycles to hold the correct speed limit (you have to think about it: the gpu plugin will not know how 'speed expensive' the next frames will be... it only can examine the speed of the latest rendered frames and do a pause, if they were displayed too fast... but if the next frames are slower for whatever reason the limitation could have been too strong, causing an unwanted speed drop... of course it will now trying to make less pause for that frames, but you will never get the lost speed back).

conclusion:
a) the new fps display (and limitation) is _not_ showing the real PC frames, but the psx vsync signal
b) the new way helps to get the right speed limitation (important for sound)
c) the vsync timing has to be emulated correctly by the main emu, otherwise the gpu is lost
d) it's hard for the gpu plugin to keep the right speed if your system is slow... and even if you have a fast one you will see a small fps change (usually 1 fps) sometimes
e) Lewpy's and my gpu are having an option to work independly from the vsync signal (it's called "PC FPS calculation" in my gpus), which will be showing the real frame count, but that mode will be screwed on strange timings (mostly in mdecs)

Boah... long text :)
 
1 - 9 of 9 Posts
Top