View Single Post
Old 16 June 2016, 11:46   #3
Registered User

hexaae's Avatar
Join Date: Jul 2006
Location: Italy
Age: 41
Posts: 740
Thanks! Didn't know that link...


JIT - Just In Time
UAE has always been hampered by being somewhat lacking in CPU performance.
Undoubtedly, it was amazingly fast for what it did, but it never really was an alternative to a decked out, no expense spared Amiga. The Just In Time compiler should help change that.

UAE can now emulate the CPU at considerably more than 060 speeds. That should do for a while - although further speedups are still possible.

A description of what the settings will cause the JIT compiler to do:

Cache Size: The size (in kB) the JIT compiler uses to store pretranslated code. When this becomes full, or when the OS issues a flush icache instruction, this gets completely emptied, and then refilled during execution. Setting it to 0 will disable the JIT compiler.

Const Jump: If this enabled, unconditional branches will not end a block. Effectively, UAE-JIT compiles "through" them. Generally, that's a good idea, as it improves performance.
However, it makes soft cache flushing impossible for some blocks, so if you experience lots and lots of soft cache flushes (e.g. when using a Mac emulator), you might try "no" and see whether it does any better.

FPU Support
: If this is enabled, the JIT compiler will be used for the most commonly used FPU instructions. Unchecking this option will disable JIT-compiling for the FPU.

Force Settings: Will force the JIT compiler to work with the method the user chooses.

Direct, Indirect, After Picasso: These describe how aggressive to be when it comes to accessing Amiga memory. If you choose "Direct", the emulation will be very aggressive. If you choose "Indirect", the emulation will always use the slower but safe method. "AfterPic" uses the safe method until the first time a Picasso96 mode is switched on, and the aggressive method
from then on. Unless you are not using P96 graphics, there isn't much point setting this to "direct". During the startup, weird and wonderful things happen in the Amiga, and only having faith in the aggressive method once that difficult time is over is certainly a wise thing to do.

No Flags: Whether to optimize away flag generation when it isn't needed. There really shouldn't be any reason why you'd want to disable this option. If you find something that
works with "no" and doesn't with "yes", it most likely is a bug and you should report it.

Hard Flush: If this is unchecked, an OS induced icache flush doesn't actually empty the cache, but instead checksumming will be used to check whether blocks have to be discarded. You'll probably want to leave this at its default (otherwise lots of stuff, like the OS, gets translated over and over).

The JIT patch was developed by Bernd "Bernie" Meyer, this description is a slightly edited and very shortened version of his documentation.

About JIT, yes I keep it on for Workbench but usually disable it via a S:WHDLoad_startup script/tooltype when launching a WHDLoad game (using C:UAE-Configuration tool) except a few demanding games.

I think I'll keep:

Hard flush: ON
Constant jump: OFF
FPU support: ON

No Flags: ON

Direct/Indirect: Indirect

Last edited by hexaae; 16 June 2016 at 11:52.
hexaae is offline  
Page generated in 0.05627 seconds with 9 queries