Author Topic: psx4all myths  (Read 6671 times)

uli (OP)

  • Posts: 14
psx4all myths
« on: October 22, 2009, 05:30:59 pm »
The first one is not so obvious: The NULL GPU option does not improve speed. In fact, it does nothing at all. Read the code, it has been disabled at compile time. If enabled, it would turn off all visuals, which would not be very helpful. I suppose it has originally been added for CPU benchmarking. I'll remove it from the menu when I stumble over it next time.

This one should have been very obvious to everyone who has actually read the README (http://github.com/uli/psx4all-dingoo/blob/master/README): The CPU cycle multiplier changes the ratio between the PSX hardware (DMA, GPU, SPU, etc.) clock and the CPU clock. Setting it to a higher value will leave the CPU with less cycles per frame. This improves the speed of games that make little use of the CPU and spend a lot of time waiting for the vertical blank, such as Tetris Plus, in that it cuts down on that waiting period. It does not make the CPU faster, and thus it will not make games faster that actually use the CPU most of the time. It will lead to an increased framerate even for those games, but that does not mean that they actually run faster: If a frame is too short to complete whatever processing has to be done, the game will just use another. Besides, increasing the cycle multiplier causes the emulated device's timings to deviate more from those of a real device and thus decreases compatibility. For most games, setting the multiplier to anything above 3 is pointless.

eule

  • * Former Staff
  • Posts: 889
Re: psx4all myths
« Reply #1 on: October 22, 2009, 05:39:37 pm »
Thanks for clearing that up, uli. I always wondered about the Null GPU, as it did nothing for me. And it doesn?t sound very useful, a PSX-game without graphics would suck i think.  ;D
Your new release is MUCH appreciated, love it!

ruffnutts

  • Posts: 2652
Re: psx4all myths
« Reply #2 on: October 22, 2009, 06:06:56 pm »
So why when I use those settings - null gpu on and cycle multiplire 7, exhumed is full speed or as good as,
And with them off is slow - can really notice the difference big time?

ruffnutts

Exophase

  • Posts: 11
Re: psx4all myths
« Reply #3 on: October 22, 2009, 06:53:45 pm »
Hey uli, I joined to post in this thread. I think people should know that changing the CPU to other stuff ratio - effectively underclocking the emulated CPU - may not just make the games slower but can cause them to fail altogether. If a game doesn't work people should try setting these numbers lower, although past a certain point lower values are guaranteed to make the game slower.

Having said that, I've been curious for a while about typical idle loops in PS1 games. I've asked zodttd to give me some logs before but he hasn't gotten back to me on this. Since you've done a new recompiler maybe you would be up to the task of looking into this? I mention it because idle loop detection is a preferable solution to underclocking the CPU. For games that use idle loops they would get just as many emulated cycles as they need, or only slightly more. They wouldn't get short changed and you wouldn't have to determine this value, and plus, it's a value that's highly dynamic anyway. It's easy for a game to need 100% CPU for a few frames at some point then go on using 10% CPU. Since most PS1 games have fixed framerates a lot are probably using typical idle loops. If they are as simple as polling a register or a memory location that's changed during IRQs then you will probably be able to easily detect them, and since you have a recompiler it can be done with little overhead or chance of missing them.

athlon4011

  • Guest
Re: psx4all myths
« Reply #4 on: October 22, 2009, 07:02:52 pm »
Hey uli, I joined to post in this thread. I think people should know that changing the CPU to other stuff ratio - effectively underclocking the emulated CPU - may not just make the games slower but can cause them to fail altogether. If a game doesn't work people should try setting these numbers lower, although past a certain point lower values are guaranteed to make the game slower.

Having said that, I've been curious for a while about typical idle loops in PS1 games. I've asked zodttd to give me some logs before but he hasn't gotten back to me on this. Since you've done a new recompiler maybe you would be up to the task of looking into this? I mention it because idle loop detection is a preferable solution to underclocking the CPU. For games that use idle loops they would get just as many emulated cycles as they need, or only slightly more. They wouldn't get short changed and you wouldn't have to determine this value, and plus, it's a value that's highly dynamic anyway. It's easy for a game to need 100% CPU for a few frames at some point then go on using 10% CPU. Since most PS1 games have fixed framerates a lot are probably using typical idle loops. If they are as simple as polling a register or a memory location that's changed during IRQs then you will probably be able to easily detect them, and since you have a recompiler it can be done with little overhead or chance of missing them.

noob response incoming . . . . . here i go

So there would be a chance to have the graphic multiplier change dynamically and automatically on the fly in game?

nine10

  • Guest
Re: psx4all myths
« Reply #5 on: October 22, 2009, 07:45:09 pm »
Really Thanks Uli

in the future its possible a menu like picodrive, save settings for each game and choosing bios ?

karma for you! XD

Exophase

  • Posts: 11
Re: psx4all myths
« Reply #6 on: October 22, 2009, 07:59:37 pm »
noob response incoming . . . . . here i go

So there would be a chance to have the graphic multiplier change dynamically and automatically on the fly in game?

Sort of. It would actually get much finer results than an integer multiplier. But yeah, it'd be kinda like auto frameskip vs manual frameskip, except without degrading anything.

athlon4011

  • Guest
Re: psx4all myths
« Reply #7 on: October 22, 2009, 08:03:22 pm »
Well i like the sound of that, hope its in the works and possible. I feel like with the release of psx4all, the dingoo has become almost near to perfect. An addition of a n64 emu would be great even though i know there is a lack of buttons and 3d modeling, it would still be great

Omega Gemo

  • Guest
Re: psx4all myths
« Reply #8 on: October 24, 2009, 01:46:37 pm »
Adding on to what uli said about the GPU Null option being pointless.

In some games having this enabled actually causes it to run slower. I've tested Final Fantasy VIII both with and without GPU Null being activated. It seemed to run faster and smoother with the GPU Null option disabled (only having CPU clocked to 430 and CPU cycles set to 7).

ruffnutts

  • Posts: 2652
Re: psx4all myths
« Reply #9 on: November 04, 2009, 09:36:12 pm »
I would love to know what causes segmentation fault error and if it can be fixed  :(
So many more games could run on psx4all.....

 

Post a new topic