You're welcome. Thanks for packaging.
An update: I had a partial success. To be more precise I found a work-around I could live with. Here is the full story:
First I made some tests by compiling deadbeef myself with cdevtools. The first go without optimizing flags, the second one with. As you, Seb, I didn't see any improvement. Still deadbeef used 95% and more cpu when playing PSFs while sexypsf used the described 20-25%.
Then I read that deadbeef uses the AOSDK (Audio Overload SDK) for playback and came to the conclusion (without a proof) that the routines of both decoders simply are different power-hungry. So with that on my mind I thought whether there might be ways of configuring the AOSDK-plugin itself. Alas there was no user-friendly way of doing this. So with little hope left - as I really don't much about coding itself - I searched for clues in the source-code of the AO-plugin and - I still find this a bit of surprising - really found a parameter that I could tweak without breaking everything.
I edit the file "plugins/ao/eng_psf/psx_hw.c" and modified line 89:
I made two tests. One with "(16)" and one with "(32)". The cpu-usage as shown in "top" was roughly as follows:
So the last two settings worked nicely. No more stuttering and I couldn't hear any quality-issues. So this would be the solution. The 70% still were a bit too hungry for my taste, which is why i personally would prefer to see the 32-setting applied. As the difference between these two is "only" about 10%, it doesn't seem to be worth trying higher values, but of course you can test them. Hopefully all this does not bring new problems.
Now please excuse me, I need to enjoy the FF9 soundtrack once again - this time playing with deadbeef.
Edit: I also wanted to remind you that there is a typo in the description of deadbeef (repo): "pugin" not "plugin"
An update: I had a partial success. To be more precise I found a work-around I could live with. Here is the full story:
First I made some tests by compiling deadbeef myself with cdevtools. The first go without optimizing flags, the second one with. As you, Seb, I didn't see any improvement. Still deadbeef used 95% and more cpu when playing PSFs while sexypsf used the described 20-25%.
Then I read that deadbeef uses the AOSDK (Audio Overload SDK) for playback and came to the conclusion (without a proof) that the routines of both decoders simply are different power-hungry. So with that on my mind I thought whether there might be ways of configuring the AOSDK-plugin itself. Alas there was no user-friendly way of doing this. So with little hope left - as I really don't much about coding itself - I searched for clues in the source-code of the AO-plugin and - I still find this a bit of surprising - really found a parameter that I could tweak without breaking everything.
I edit the file "plugins/ao/eng_psf/psx_hw.c" and modified line 89:
Code:
#define CLOCK_DIV (8) // 33 MHz / this = what we run the R3000 at to keep the CPU usage not insane
I made two tests. One with "(16)" and one with "(32)". The cpu-usage as shown in "top" was roughly as follows:
Code:
(8) ~95%
(16) ~70%
(32) ~60%
So the last two settings worked nicely. No more stuttering and I couldn't hear any quality-issues. So this would be the solution. The 70% still were a bit too hungry for my taste, which is why i personally would prefer to see the 32-setting applied. As the difference between these two is "only" about 10%, it doesn't seem to be worth trying higher values, but of course you can test them. Hopefully all this does not bring new problems.
Now please excuse me, I need to enjoy the FF9 soundtrack once again - this time playing with deadbeef.
Edit: I also wanted to remind you that there is a typo in the description of deadbeef (repo): "pugin" not "plugin"
Last edited by a moderator: