mirror of https://github.com/PCSX2/pcsx2.git
25e63c243d
- Fixed some logic for flag propagation. Its a 3% speedup in the titlescreen of GoW (68fps vs 66fps). - Added a new mVU speedhack which should be very safe. Its a 7% speedup over the new code (73fps vs 68fps), so a 10% speedup over the last revision (73fps vs 66fps). What the speedhack does: The VUs have 3 separate flags: Status, Mac, and Clip flags. Due to the VU's pipeline, there can be up to 4 live instances of these flags during emulation. The tricky part arises when you're recompiling the end of a block (after a branch), then you must predict if another block will need older flag instances. These can be accurately predicted in all cases except for indirect jumps, because the destination block is unknown at recompile time. In this case mVU assumes the worst-case scenario, that all flag instances will be needed, so it performs some flag shuffling to prep the flag instances in such a way that the next block can read them nicely. What the new "Block Hack" does, is it assumes that the old flag instances won't be needed, which eliminates a lot of flag shuffling causing a speedup. Currently the Block Hack plays it very safe, in the case of the current block ending with an indirect jump, it still assumes the flag instances will be needed for the subsequent block, so it does nothing different there; The times the speedhack actually does something is when your current block ends with a branch, and then the following block ends with an indirect jump (or similar cases). In these cases it would be very odd for future blocks to care about old flag instances from 2-blocks ago, which is why this speed hack should be very safe. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3298 96395faa-99c1-11dd-bbfe-3dabce05a288 |
||
---|---|---|
3rdparty | ||
bin | ||
cmake | ||
common | ||
debian_unofficial | ||
fps2bios | ||
nsis | ||
pcsx2 | ||
plugins | ||
tools | ||
CMakeLists.txt | ||
build-plugins.sh | ||
build.rb | ||
clean_msvc.cmd | ||
detect_missing_file_in_cmake.sh | ||
pcsx2-codeblocks.workspace | ||
pcsx2_suite_2008.sln | ||
pcsx2_suite_2010.sln | ||
rebuild.sh |