Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Why does the FPS NEEDS to be 60????!
#1
Hello guys, i've used pscx2 since v 0.9.8 but till now there is just one thing that i don't get regarding how the emulator emulates the ps2 which made me make an account to ask this. Now in my ps2 there were many games that i can recall being not as smooth as for it to be running in a constant 60fps. In fact i am sure now that many games even targeted 30. I am not referring the the refresh rate cuz i know that is fixed at either 50/60 hz depending on region. SO what i want to know is why does the emulator has to emulate those games, even the ones not made for 60 fps (GTA SA being a notable example) at 60fps to get 100% speed? Is it because of being unable to use interlacing on our PCs? Or is it actually running in 30 but from the emulators perspective it sees 60? For comparison when we run 30fps games in dolphin it runs in 30fps (zelda wind waker)  and 60fps games(smashbros)  at 60fps. Now i do know some programming but i do know emulators are no joke with extensive use of assembly (which i suck at), and timing synchronization (way over my head). so another question is would making a 30fps game run at 30fps full speed require less resources then the current situation meaning would it run better if the emulator behaves as dolphin? Making many games more playable on modest hardware by today's standard?
Reply

Sponsored links

#2
well. 50/60 hz is just the vsync aspect. the 30/60 is a different beast. it's about computation power of the console. think about the time and computation power needed to render a frame the way it's gotta look like. 16ms to compute a frame at 60 fps. it's actually luxury. games running at lower fps need longer to render their graphics. the developers gone for effects instead of framerate. for them to be perfectly v-synced, it's still gotta be done in 33ms. accomplishment if it does, always. also... sotc for example uses so much computation power and overdraw it barely manages even 30 fps on the real hardware. while still being sort of v-sync. doesn't mean 30 fps games are easier to emulate. they still use 100% of the consoles computation power.
Reply
#3
(12-24-2017, 07:11 PM)dabore Wrote: well. 50/60 hz is just the vsync aspect. the 30/60 is a different beast. it's about computation power of the console. think about the time and computation power needed to render a frame the way it's gotta look like. 16ms to compute a frame at 60 fps. it's actually luxury. games running at lower fps need longer to render their graphics. the developers gone for effects instead of framerate. for them to be perfectly v-synced, it's still gotta be done in 33ms. accomplishment if it does, always. also... sotc for example uses so much computation power and overdraw it barely manages even 30 fps on the real hardware. while still being sort of v-sync. doesn't mean 30 fps games are easier to emulate. they still use 100% of the consoles computation power.
Yeah, no i get that. So you know that Sotc Barely ran at 30. The target Framerate was 30 for the original ps2 cuz that was the absolute max of what the ps2 could do. What i was asking was that if the original game on the original hardware targeted mostly a locked 30fps then why does the PCSX2 Emulator have to spit out 60fps? Cuz if the emulator was also running in 30 fps like the original console then the game would run Half-speed.
Reply
#4
If you want to play at 30FPS, you can use frameskipping in the Emulation Settings to achieve that.
Reply
#5
well... the emulator measures and outputs 50/60 fps cause a crt would output like that. the internal framerate of the game is not actually important for that. in fact it just outputs the render result for 2 frames.
Reply
#6
(12-24-2017, 06:09 PM)Kraatoos24!!! Wrote: Hello guys, i've used pscx2 since v 0.9.8 but till now there is just one thing that i don't get regarding how the emulator emulates the ps2 which made me make an account to ask this. Now in my ps2 there were many games that i can recall being not as smooth as for it to be running in a constant 60fps. In fact i am sure now that many games even targeted 30. I am not referring the the refresh rate cuz i know that is fixed at either 50/60 hz depending on region. SO what i want to know is why does the emulator has to emulate those games, even the ones not made for 60 fps (GTA SA being a notable example) at 60fps to get 100% speed? Is it because of being unable to use interlacing on our PCs? Or is it actually running in 30 but from the emulators perspective it sees 60?  For comparison when we run 30fps games in dolphin it runs in 30fps (zelda wind waker)  and 60fps games(smashbros)  at 60fps. Now i do know some programming but i do know emulators are no joke with extensive use of assembly (which i suck at), and timing synchronization (way over my head). so another question is would making a 30fps game run at 30fps full speed require less resources then the current situation meaning would it run better if the emulator behaves as dolphin? Making many games more playable on modest hardware by today's standard?

The main purpose of console is built for the best in gaming at 60 fps. Pc are built for multi purpose and pc games used to run at 30fps.
CPU : I7 6700 3.4 Ghz
GPU : Gigabyte Geforce GTX 1050 TI
SPU : Realtek High Definition Audio
RAM : 16 GB
Os : Windows 10 64 Bit
Emulator : PCSX2 1.5 
Reply
#7
(12-24-2017, 07:44 PM)CK1 Wrote: If you want to play at 30FPS, you can use frameskipping in the Emulation Settings to achieve that.

No i don't think frameskip doesn't actually do that. Frameskip just skip/drop some frames if the pc is not capable of processing the frames fast enough so that it stays with sync with the rest of the threads.
The game engine doesn't actually speed up when using frameskip. If my game was running slo mo it'd still run in slo mo but it'd feel a lil bit fast cus the frames would line up with the other things going on with the game.

You guys are not understanding the question. I am not having problems running a game i just want to know why there is this discrepancy between the console and the emulator. Which is.....
Ok so you know that when a game is running in PCSX2 below 60 fps the engine is not running at the full speed right?  lets say a game (say GTA SA) game feels sluggish and running in slowmotion, Everything-the sound, the animations, the physics. BUTTTTT on the ORIGINAL PS2 it was running mostly in 30fps right? You can check out digital foundry's framerate test videos of gta sa. SO if on the original Hardware the game was made for 30 fps and ran at 30fps and the ENGINE speed was running at 100% AT 30FPS, then WHY on PCSX2 the game need to run at 60fps FOR THE ENGINE to be running at 100%??


I guess i should have posted this on the developer section. If a mod can move it that'd be great.
Reply
#8
(12-24-2017, 07:58 PM)dabore Wrote: well... the emulator measures and outputs 50/60 fps cause a crt would output like that. the internal framerate of the game is not actually important for that. in fact it just outputs the render result for 2 frames.

THANK YOU!! Now its making some sense. but then again if that was the case wont the fps be constant because the refresh rate doesn't change?
Reply
#9
The thing to remember here is the difference between refresh rates. There's going to be three major ones to note.

Tick rate: Not sure if this is the technical term, but we see this frequently in modern games like Battlefield 4 and Minecraft. This is the speed at which a game internally cycles. Completely separate from FPS, this is the actual cyclerate of game code that is running internally.

Internal frame rate: The FPS we're all used to with PC games. When the steam overlay says a game is pushing out 60 FPS, that's the rate that the game itself is generating new frames at. Whether your GPU ultimately decides to put those frames up on your monitor is based on the timing of these frames, and that's where vsync starts being important in preventing screen tearing, and also...

Your monitor's refresh rate: Regardless of a game's internal FPS, or tick rate, your monitor is constantly running its own FPS. Typically this is 59, 60, or 144 on modern monitors. Unlike tick rates and internal FPS, this does not fluctuate (or if it does something has probably gone horribly wrong).

In PCSX2's case, that FPS counter is the "Monitor refresh rate" of the pseudo TV that the emulator is "plugged in to". A real TV would run at 60 FPS, even if it's only being fed 20 FPS, and it just fills the holes by repeating frames.

System slowdowns make the FPS drop because those frames can't be fully rendered/repeated before the next batch of frames needs to go out. It's messy because you have all three of these layers, buried inside the emulator, which has these three layers for itself. But hopefully this makes enough sense.
Mobo: ASUS Prime Z370-A
CPU: Intel i7-8700K (3.7 GHz)
RAM: G.Skill TridentZ RGB Series, 2x8 GB DDR4 (3000 MHz)
GPU: EVGA GeForce GTX 1070Ti FTW2 (8 GB)

Oh yeah Red Pandas are cool too.

Reply
#10
(12-24-2017, 08:18 PM)pandubz Wrote: The thing to remember here is the difference between refresh rates. There's going to be three major ones to note.

Tick rate: Not sure if this is the technical term, but we see this frequently in modern games like Battlefield 4 and Minecraft. This is the speed at which a game internally cycles. Completely separate from FPS, this is the actual cyclerate of game code that is running internally.

Internal frame rate: The FPS we're all used to with PC games. When the steam overlay says a game is pushing out 60 FPS, that's the rate that the game itself is generating new frames at. Whether your GPU ultimately decides to put those frames up on your monitor is based on the timing of these frames, and that's where vsync starts being important in preventing screen tearing, and also...

Your monitor's refresh rate: Regardless of a game's internal FPS, or tick rate, your monitor is constantly running its own FPS. Typically this is 59, 60, or 144 on modern monitors. Unlike tick rates and internal FPS, this does not fluctuate (or if it does something has probably gone horribly wrong).

In PCSX2's case, that FPS counter is the "Monitor refresh rate" of the pseudo TV that the emulator is "plugged in to". A real TV would run at 60 FPS, even if it's only being fed 20 FPS, and it just fills the holes by repeating frames.

System slowdowns make the FPS drop because those frames can't be fully rendered/repeated before the next batch of frames needs to go out. It's messy because you have all three of these layers, buried inside the emulator, which has these three layers for itself. But hopefully this makes enough sense.
man thanks for explaining that. I completely forgot that the TV have to be emulated too!!! the fact that the output device is also being emulated just blows my mind. This makes so much sense now.... I had a feeling that the fps displayed is not what the internal fps was.This cleared it up.
Reply




Users browsing this thread: 1 Guest(s)