2010-11-29

PCSP v0.4.0 - vsync limiter on may freeze some games

Hlide here again !

Ok, Evangelion doesn't run anymore. I guess the addition of Audio and the changes in threadman are probably for something. In fact, I suspect some games were able to run in a very hacky way because the thread scheduler wasn't playing its role properly and so some waiting threads were awaked even if their waiting condition wasn't met. And it could also explain why this game was so slow.

A new vsync limiter was coded using a time critical thread to wakeup any psp threads waiting for a VSYNC event. It is a cleaner way to limit FPS to 60. A change in threadman was necessary to make it work.

An audio implementation based on PortAudio with its own time critical threads to play audio samples also needed a change in threadman.

As a result, you may really need a multi-core to keep a smooth running pcsp.

Beware, this version is very experimental : if you have some games which ran fine and have a freeze ingame with this release, try to disable vsync limiter and relaunch pcsp to check if it occurs again. There are probably issues with inter-thread synchronisations and they are very hard to spot. A new minor release will be out as soon as a fix is found.



Source: www.pcsp-emu.com

0 Comments

Post a Comment