PCSX2 beta profiles
#1
I understand that the publicly released betas of PCSX2 are profile optimized builds. Out of curiosity, what games are these beta builds profiled against?
Reply

Sponsored links

#2
you understand incorrectly, they are in no way profile optimized.
[Image: ref-sig-anim.gif]

Reply
#3
(04-02-2009, 06:21 PM)refraction Wrote: you understand incorrectly, they are in no way profile optimized.

Krakatos said that they are, at least the ones he posts.
Reply
#4
They are Tongue Krakatos makes them,he should be able to tell you
[Image: newsig.jpg]
Reply
#5
Yes, I make them, and they are optimized through PGO. And well, the question was bound to be asked someday, so let's see...

A few things must be made very clear first though..
1) PGO is good for increasing "responsiveness", but emulation speed will improve by 1-3% generally, because the program is complex and uses a lot of functions, while PGO can only optimizes a few.
2) In particular, since games do tend to use many different functions, it is pointless to try to do a PGO for a single game. Keep in mind pcsx2 is an extremely complex program. If you were to do a PGO for a single game, compared to my "generic PGO" for the betas, you'd see MAYBE a 0.5% speed increase. That is, 0.5 fps or less. Completely useless.
3) It's not really important WHICH games are used for PGO. PGO optimizes functions that ALL games use. What's important is to have a good choice of "cases", so that the PGO is effective by choosing functions used a lot.
3) Gsdx is different because as rama said in another thread, there's a few unoptimized functions that a few games call a lot, and so a VERY few games do get impressive speed boosts through that.

That said, it is apparent that the correct use, at least for something as complex as pcsx2, is to use a good pool of "cases" for PGO. That way you can train the program to be more responsive in all types of situations For example, say, 3 heavy 3d games and a pure 2d game. And no I do not use always the same games, there's really no reason to do that.

And just if someone is interested, what I do before releasing a beta goes like this...
1) check out there aren't any glaringly obvious and disruptive bugs, through both dev channel and bug reporting forum
2) prepare a pcsx2 build, doing PGO on a pool of games (takes.. a hour or more)
3) test 4 hours or so said build, to check if it works more or less
4) if it's ok, release it.
Reply
#6
Krakatos,what do you mean by increasing "responsiveness"? is that mean you can get less delay time when you press a button?
PC spec:
CPU:e5200 OC to 4G
GPU:NVIDIA 9600GT
MEMORY:2G 333 ddr2
Sound Card:Creative Audigy 1

WinXP SP3
Reply
#7
(04-03-2009, 04:12 AM)beenn Wrote: Krakatos,what do you mean by increasing "responsiveness"? is that mean you can get less delay time when you press a button?

It may make more sense if you understand what PGO is doing.

The compiler generates a regular build, and while executing it determines numerous characteristics that aren't available at compile time. Time of execution for each module, frequency of calls, that sort of thing.

Using that information it aggressively compiles to meet a desired characteristic, usually shorter execution time. Functions that are called often are made in such a way to reduce their overall time, even if it's at a slight cost to the rest of the program. Net effect is shorter overall execution, hence the 'responsiveness'.

It works wonders for some programs, doesn't have much of an effect on others. PCSX2 is one of the others Tongue
"This thread should be closed immediately, it causes parallel imagination and multiprocess hallucination" --ardhi
Reply
#8
(04-03-2009, 05:40 AM)echosierra Wrote: It may make more sense if you understand what PGO is doing.

The compiler generates a regular build, and while executing it determines numerous characteristics that aren't available at compile time. Time of execution for each module, frequency of calls, that sort of thing.

Using that information it aggressively compiles to meet a desired characteristic, usually shorter execution time. Functions that are called often are made in such a way to reduce their overall time, even if it's at a slight cost to the rest of the program. Net effect is shorter overall execution, hence the 'responsiveness'.

It works wonders for some programs, doesn't have much of an effect on others. PCSX2 is one of the others Tongue

now i get it ,thanks for the explainationSmile
PC spec:
CPU:e5200 OC to 4G
GPU:NVIDIA 9600GT
MEMORY:2G 333 ddr2
Sound Card:Creative Audigy 1

WinXP SP3
Reply
#9
a big part of pcsx2 is executing recompiled code (x86 code that pcsx2 generates with its recompilers).
since pcsx2 generates this code, PGO can't optimize that, and therefore the gain from PGO isn't as great as it would be in some other type of application.

and if what i said doesn't make sense to you, then just ignore it xD
its a bit complicated to explain Laugh
Check out my blog: Trashcan of Code
Reply
#10
did a bit of testing with the new beta on MGS3 FPS improved a lil around 25-30 FPS now when i was using the 0.9.6 version it was running at 19 FPS. but the fmvs are still talking slow-mo overall pretty gd was running the game without VU skip

thanks guys if this goes on you guys are gonna be the talk of the town for making a PS2 emulator work well on a pc.
Reply




Users browsing this thread: 1 Guest(s)