Overclocking the Emotion Engine
#51
(05-07-2013, 05:21 PM)nosisab Ken Keleh Wrote: Besides what Rama said, this thread is about enhancing the game quality, overclocking EE is an attempt to get higher FPS, Billy. People proposing it are on the other side of the coin in the sense they believe their machine is powerful enough to do it.

In resume it has nothing to do with increasing performance.

Still, to keep on the thread: "Warning, casual readers may want to skip the following at all without loss."
Code:
I saw reported once that GoW uses an engine which seems to work more alike PC adapting PS2 FPS (not to be confused with it's RR that is always 60/50 depending on region) second demand, I can't confirm this, but that could be a game which possibly would make good use of EE overclocking.

For most games the "image" is already linked with the frame in the actual PS2. This could be understood as "image" in this case is PS2 actual FPS and the FPS is meant here as it's refresh rate (what is defined on hardware and does not change).

Since the emulator is a PC software it has no means to implement that refresh rate (and no need), what happens is the emulator was designed to work at a FPS that emulates that stable PS2 refresh rate base and then the emulator will impress the actual PS2 FPS as "image" into each frame of it's FPS.

So,
PS2 refresh rate emulated as PCSX2 FPS
PS2 FPS           emulated as image to go into each PCSX2 frame.

This brings some interesting possibilities and some pitfalls.

First, since PCSX2 FPS is "free" it can change without the collateral effects which would be catastrophic case the RR is changed on actual PS2.

On the other hand, overclocking virtual EE increases the pace everything happens in the emulation and since the limiter will try and keep the FPS at nominal value is where the desyncs happens.

Rama's post gave me the impression that this issue is being addressed as could mean that the possibility to determine the emulated EE speed at GUI/ini level only (like an inverse of EE cyclerate hack).

The ideal scenery would be "convincing" the game to output higher FPS without changing the overall synchronization but that, if possible would be a per case basis what is secondary to emulation itself (actually would be changing the way PS2 works and not much of emulation anymore).

Of course this could be seen as akin to upscale which is already changing the way PS2 works, but whatever, it's nice!

On the other hand, since most of actual graphics are processed on the VUs, overclocking EE has an effect on VU as well, meaning EE could be serving data to VU at higher pace what is like VU hack tries when stealing cycles from EE to attend it when it needs a more steady flow.

That's a critical balance between several modules (it is so on PS2 also). The reason PCSX2 has complex mechanisms to keep the timings so to things don't go astray. Of course there are other modules EE has direct control also, like SPU, IOP and even the GS interface and in last instance GS itself.

From the emulation stand point the great problem is keeping that balance with the best possible performance, what is saying it's a compromise with accuracy and quality.

Currently the accuracy and quality are far from perfect. Games still have particularities which aren't correctly emulated yet, particularities PS2 has no problem dealing with. Analyzing what the game is trying to do and finding what is going wrong is what can increase accuracy not only for the particular game as for every other doing the same thing (I know it is easier to say than to do).

Conversely, I see the usage of patches as a necessity nowadays but I see it as "dangerous" also because can lead to an easy way to do wrong things and in last instance stall or make harder the real PCSX2 development on accuracy and overall quality.

Sadly enough, increase in performance at this stage claims for a complete PCSX2 structural remake and even so may not be enough performance gain to be worthy the trouble, PCSX2 already has amazing optimization mechanisms at it's lower emulation level.

Where I see the greatest performance gain could come is in pushing on the video card the job of dealing with the VUs... since the VUs are more part of GS than EE actually, if not for another reason because the sheer number of registers what any GPU has plenty.

Oddly enough this is something that will be done automatically at APU level when Kaveri comes out (or so is how I envision it). That's because Kaveri will not have float point registers in the CPU side at all and transfer to the GPU side all vector and float point processing.

Although this may mean an overall gain with general software it may mean a huge difference for PCSX2 since will be freeing the CPU to dedicate to EE and other modules and from having to deal with VUs also. Even the GS software mode would benefit from this. Although the GPU is inherently slower in raw clocks it is optimized for parallel work, just think how few are the CPU float point registers and how much they are used by the VUs emulation.

If PCSX2 does not go for it first, we may be watching AMD APUs getting a huge leap ahead Intel on the emulation.

Well, if you got to here I must commend your patience :)
i understand Smile, actually i like discuss something that enhance my knowledge
Reply

Sponsored links

#52
(05-07-2013, 05:39 PM)billyash Wrote: Everyone missunderstand me, EE opposite to framerate if EE o'c twice so framerate should be half. If EE clock half so framerate doubled ( i don't recomand or else i just need test reply and discuss it)


really? What game are they?Have you test it?

The point is the idea on this thread is making the "pace" of the game more fluid (again the old confusion of FPS with the pace things are happening).

reducing the FPS defeats that idea totally Smile

Let's get an example: You have an actual movie (on celluloid film) where the image impressed on each frame is unchangeable by normal means. Whatever change in the FPS toward the FPS the movie was done implies changes in the speed things happens on it. That's the perfect example of "image" tied with the frame. Even in this case, a still image would still look still despite the FPS (since it does not becomes a slide show).

On PC (and what the thread is making suppositions) the pace things move is dependent on time what means the FPS affect only the number of steps in the movement and of course the steps length is smaller.

What that means? Think this way:

An object is at point A at the first frame and at point C after 60 frames meaning it took one second to move from A to C. At same time it means that object "jumped" in 60 intermediary positions meanwhile --- yes, the movement is not continuous... the object "teleports" from a position to another.

Now that we understand the movement is actually like teleporting (and not continuous) let's understand what happens in the case of the movie and the PC case. In the first the image is tied with the frame, in the second the image image is tied with real time.

Let's imagine now the FPS is changed from original 60 to 120.

A - the movie case (PS2 like)... when the frame number 60 is drawn the object will be already at position C, what means it got in there in half a second... what translates it moved at double speed.

B - Real time sync (PC like) - When the frame number 60 is drawn the moving object will be at the point B at half the distance from A to C and will be at point C when the frame #120 is drawn. That means it doubled the number of "teleportations" but did it in smaller length, the movement becomes more fluid. The other way to look at this is the movement becomes independent on the FPS. Since what defines the object will be at point C is the passage of 1 second it will be there if running at 30 or 60 or 120 FPS, what changes is only the fluidity this happens.

That's not all... there are other "complications" that must be taken into account. One thing is "rendering each frame" so to not only the movement as the "animation" of the moving object must be rendered also.

To understand what is meant, imagine a man running from A to C, not only he's changing the position as it's arms, legs and overall animation is changing as well.

So, in the first case (the movie), simply there is no intermediary animations between each frame, even if doubling the FPS means only repeating each frame twice. It's not the frames are being rendered again, just presented at greater pace meaning double speed, or doubling presentation of frames to preserve the speed but not enhancing the animation.

The inverse applies also, billy and even worse... because when you reduce the frame rate you are indeed losing already existent "animations" more than losing only "positions" the object has in the scene. When you compensate it later increasing FPS, that running man will look more unnatural and with legs and arms moving... funny.

This serves to both, those wanting more FPS and those wanting reduce it and then compensating so the speed is akin to the original. To do it right each frame MUST be rendered correctly so to present not only the position and pace but to preserve the animation also.

Remember we are talking about PS2 and not PC games. Things would be easier if PS2 games had the "pace" synced by real time like PC games have.
Imagination is where we are truly real
Reply
#53
Actually Emulation is not that easy as we think.if we don't do it right.
It can be huge loss.somehow they bring emulator to this stage.
Now they'll not do any mistake even a little mistake that can break Games or cause other problems.
There is lot more work pending rather than overclocking EE Tongue2
Reply
#54
Not trying to be rude by pointing this out, but I feel like this thread is being hijacked by people that want PCSX2 to run better on their PCs. There are thousands of threads talking about this elsewhere. The original topic is about making the original PS2 hardware faster (through emulation). As it has been pointed out, turning this option on would make the emulation run much slower on your PC. It would not effect emulation at all, if you simply don't turn the option on. In any case, I appreciate the responses, especially Rama and Refraction. The idea of playing my favorite PS2 games with better performance than an actual PS2 is pretty exciting even if it will require faster PC hardware to make it happen.
Reply
#55
(05-08-2013, 03:12 AM)xyrts Wrote: Not trying to be rude by pointing this out, but I feel like this thread is being hijacked by people that want PCSX2 to run better on their PCs. There are thousands of threads talking about this elsewhere. The original topic is about making the original PS2 hardware faster (through emulation). As it has been pointed out, turning this option on would make the emulation run much slower on your PC. It would not effect emulation at all, if you simply don't turn the option on. In any case, I appreciate the responses, especially Rama and Refraction. The idea of playing my favorite PS2 games with better performance than an actual PS2 is pretty exciting even if it will require faster PC hardware to make it happen.

If was that simple, that is what some the posts tried to say. There is already one attempt to get greater FPS patching the game and even then the sync problems do occurs.

Simply increasing EE clock may not cut the edge but is OK to have as option at GUI level. It is the inverse of EE cyclerate hack already and may work without greater issues with some games. But better be prepared for less than ideal behavior as well.
Imagination is where we are truly real
Reply
#56
(05-08-2013, 04:07 AM)nosisab Ken Keleh Wrote: Simply increasing EE clock may not cut the edge but is OK to have as option at GUI level. It is the inverse of EE cyclerate hack already and may work without greater issues with some games. But better be prepared for less than ideal behavior as well.
i guess dev won't do that Tongue2
Reply
#57
yes agree with bchris964 !!
billyash 1 thing u can try upgrade u'r system for optimal performance in pcsx2 lol Tongue !!
Reply




Users browsing this thread: 1 Guest(s)