The following warnings occurred: | |||||||||||||||
Warning [2] Undefined property: MyLanguage::$archive_pages - Line: 2 - File: printthread.php(287) : eval()'d code PHP 8.2.26 (Linux)
|
Request for testing Compiler settings - Printable Version +- EmuNewz Network (https://www.emunewz.net/forum) +-- Forum: PSP Emulation (https://www.emunewz.net/forum/forumdisplay.php?fid=191) +--- Forum: JPCSP Official Forum (https://www.emunewz.net/forum/forumdisplay.php?fid=51) +---- Forum: svn trunk discussion (https://www.emunewz.net/forum/forumdisplay.php?fid=56) +---- Thread: Request for testing Compiler settings (/showthread.php?tid=3377) Pages:
1
2
|
RE: Request for testing Compiler settings - gid15 - 01-16-2011 (01-16-2011, 06:42 PM)hlide Wrote: I guess you have some "Step" methods to call periodically. The longest the compiled block is the slowest responsiveness is. It's kinda logical. The calls to "Step" methods are left unchanged, it's just that the Java JIT doesn't like to compile large Java methods. e.g. with 3000: the Jpcsp Compiler is compiling a mips function at 0x8000000 into a single Java method: Code: public static call800000() { And with 50: the Jpcsp Compiler splits the Java method in smaller ones having max. 50 MIPS instr: Code: public static call800000() { There is probably some threshold in the JIT compiler based on the code size... RE: Request for testing Compiler settings - Orphis - 01-16-2011 And people might have a better FPS with the server JVM too because it's compiling bigger methods. RE: Request for testing Compiler settings - MaXiMu - 01-17-2011 Final fantasy Crisis core 22-42fps ingame -> using private int methodMaxInstructions 50 average 24-35fps Final Fantasy Crisis core 20-35fps ingame -> using private int methodMaxInstruccions 3000 (Default) average 22-30fps some games stability especially on the loading screen by millisecond/minute faster (Average) and small frame max up 2-6fps in ocasions Estability better. great work RE: Request for testing Compiler settings - Itaru - 01-17-2011 Here are the results of my testing using r1951. I'm using the server JVM in all games tested using the following additional switches: -server -Xverify:none -Xrs -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ReservedCodeCacheSize=32m The FPS numbers are directly taken from the emulator itself. I modified the source to keep track of min, max, and avg FPS then print the numbers out to the console when I exit jpcsp. The min and max FPS aren't that meaningful, but the avg FPS can be compared meaningfully for the most part. The 3rd Birthday ULJM05798 50: min 11 - max 59 - avg 36.9 100: min 10 - max 60 - avg 38.2 500: min 17 - max 60 - avg 52.5 1000: min 27 - max 58 - avg 52.1 3000: min 4 - max 59 - avg 48.8 Comments: This game doesn't like small settings, it lags a lot when things get busy where FPS regularly drops in the low 20s and 10s. The game's a joy to play at 500/1000, but at 3000 performance drops although not quite as bad as 50/100. Also if I don't set ReservedCodeCacheSize to 32m, I get CodeCache full/Compiler disabled errors but the game keeps running. This game works best with 500. Crisis Core Final Fantasy VII ULUS10336 50: min 6 - max 59 - avg 48.9 100: min 5 - max 58 - avg 48.1 500: min 2 - max 58 - avg 44.2 1000: min 6 - max 64 - avg 42.3 3000: min 6 - max 58 - avg 42.1 Comments: This game doesn't like large settings at all. It runs smoothest at 50, and the larger the setting the choppier it plays. Things get choppy starting at 500 and above. The avg FPS doesn't indicate a huge drop (mostly because I only tested for a very short time), but the choppiness is really bad at large settings. This game works best with 50. Dissidia Final Fantasy ULES01270 50: min 5 - max 30 - avg 20.6 100: min 6 - max 29 - avg 20.6 500: min 4 - max 30 - avg 20.3 1000: min 8 - max 29 - avg 20.6 3000: min 11 - max 29 - avg 20.2 Comments: I randomly get weird sky corruption after tutorial battles and then ArrayIndexOutOfBounds crash regardless of the methodMaxInstruction settings. Letters are also missing in the text. In the tutorial battles, performance is decent and I noticed no difference at all with different settings. Gran Turismo UCUS98632 50: Crash: EXCEPTION_PRIV_INSTRUCTION 100: min 11 - max 60 - avg 35.5 500: min 12 - max 61 - avg 35.9 1000: min 13 - max 61 - avg 37.0 3000: min 13 - max 61 - avg 37.4 Comments: I don't notice any difference in performance with different settings, except that at 50 it crashes at the beginning. I'll retest it with r1952 later. Racing performance is okay but the graphics is really bad with lots of missing textures. Updated Comments: I tested with r1952 at 50 and there's no more crashing. The FPS numbers for 50 are pretty much the same as for 100 and 500. Hatsune Miku Project DIVA 2nd ULJM05681 (with English menu patch) Comments: The FPS is too out of whack here with max reaching 250s and avg FPS in the 100s. With different settings (50/100/500/1000/3000) I don't notice any performance difference at all and the FPS numbers are very close to each other. The visuals lag behind the music a bit but the rhythm game runs smooth enough to be playable. It's a bit difficult to get the timing right since I have to rely on visual cues only since the visuals and music are not synchronized properly (and listening to the music actually throws off my timing), but I've managed to clear 3 songs on easy mode. Updated Comments: It turns out that the synchronization problem is due to Jpcsp playing the audio too fast. Details here: http://www.emunewz.net/forum/showthread.php?tid=3392 Hatsune Miku Project DIVA ULJM05472 (with English menu patch) Comments: This game is just too choppy and unplayable regardless of the methodMaxInstruction settings. Like the sequel, it also has whacked out high FPS numbers. The sequel above plays so much better and smoother though, probably due to better coding in the sequel compared to this one. I still have a few other games to test. I'll do more tests tonight if I have time. I still have Hexyz Force, Persona 3 Portable, Valkyrie Profile Lenneth, Ys: The Oath in Felghana, and Ys SEVEN to test. RE: Request for testing Compiler settings - hlide - 01-17-2011 (01-16-2011, 09:13 PM)gid15 Wrote:ok, I had a similar issue with the static recompiler (for pcsp) when I tried to output a big switch code using addresses to execute small basic blocks in every case block. VC2008 and gcc failed to compile the big result. I guess even having small methods may help because JIT would probably inlines them at the end.(01-16-2011, 06:42 PM)hlide Wrote: I guess you have some "Step" methods to call periodically. The longest the compiled block is the slowest responsiveness is. It's kinda logical. I don't know how the details, but if by responsiveness you were spoken about faster loading because of smaller java methods compiling, "responsiveness" was a little abused term ^^. RE: Request for testing Compiler settings - Itaru - 01-18-2011 I only managed to test one more game last night. Using r1952 with the following switches same as before: -server -Xverify:none -Xrs -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ReservedCodeCacheSize=32m Persona 3 Portable ULUS10512 50: min 11 - max 58 - avg 42.9 100: min 20 - max 58 - avg 44.4 500: min 19 - max 58 - avg 44.9 1000: min 16 - max 58 - avg 44.2 3000: min 18 - max 58 - avg 43.8 Comments: A setting of 50, 100, or 3000 causes occasional but noticeable lags/stutters while running around in Tartarus. Those lags happen a lot less frequently and also less noticeable at 500 or 1000. I'd say that the best setting is 500 for this game. RE: Request for testing Compiler settings - Hykem - 01-18-2011 Hmm... It seems that 500 is the best candidate so far. The difference it's barely noticeable between 500 and 1000 in most games, but some games with heavier instructions can definetly improve from a 500 splitting. RE: Request for testing Compiler settings - gid15 - 01-18-2011 OK, thanks all for the testing! The results were interesting and quite surprising for me! I was expecting all games run better or unchanged with 50, but not worse . As the effect depend on the game, I will add a compatibility settings with the following possible values: 50, 100, 500, 1000, 3000. RE: Request for testing Compiler settings - Orphis - 01-18-2011 Call it a speed hack and you'll get tons of worshippers ^^ (well, you'd better not, or people will complain it doesn't work :p) |