PCSX2 - The Playstation 2 Emulator
Go to file
Jake.Stine 2f99d8c514 MTGS Optimization! Implemented EEcore thread sleeping and signaling. [as always: MTGS changes are experimental, and need testing to isolate potential thread sync bugs, which are usually quite random in nature]
Important Notes: I designed the new MTGS to largely favor speed on GS intensive scenes, at the possible cost of some speed loss on scenes that do very little GS work (simple boring menus, mostly).  The idea is that losing 5-10% on a menu screen that already runs *really* fast is a valid trade off for possibly gaining a few FPS for in-game scenes (especially slow ones that need it most).  So don't benchmark this thing on game menus and expect it to be faster.

The new MTGS also has several other benefits that do not currently reflect well in benchmarking:
 * It renders only two frames ahead instead of 8.  This is great for fixing laggy input problems, but bad for benchmarking.  If the new MTGS manages the same speed while having lost the queued frames count, it's a sizable achievement.

 * It works a lot nicer with the GSdx software rasterizer in general.
 * It's new design will work nicer with future DX11 multithreaded features, when supported.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2243 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-24 08:43:36 +00:00
3rdparty * Speedhacks master toggle saves now. 2009-11-19 05:08:24 +00:00
bin Implemented keyboard accelerator tables and a hashed global command table (should be ideal for eventual GUI extensions via plugin, and toolbars and other fanciness). Removed Pause menu and replaced it with a Suspend/Resume menu. Closing GS window behaves more nicely. 2009-09-20 20:54:45 +00:00
common Added AtomicBitTestAndReset() to thread tools and added a Normalize helper to 'Path' namespace. 2009-11-24 08:32:39 +00:00
fps2bios FPS2BIOS. 2009-03-10 23:05:35 +00:00
nsis Implemented keyboard accelerator tables and a hashed global command table (should be ideal for eventual GUI extensions via plugin, and toolbars and other fanciness). Removed Pause menu and replaced it with a Suspend/Resume menu. Closing GS window behaves more nicely. 2009-09-20 20:54:45 +00:00
pcsx2 MTGS Optimization! Implemented EEcore thread sleeping and signaling. [as always: MTGS changes are experimental, and need testing to isolate potential thread sync bugs, which are usually quite random in nature] 2009-11-24 08:43:36 +00:00
plugins GSdx: 2009-11-23 23:58:25 +00:00
tools Linux: Fixed compiler errors from my prev commit, along with a few verbose warnings and a compile error in SPU2-X. (note, moved Linux's define of SVN_REV macro to PrecompiledHeader.h for now, until a proper solution is implemented) 2009-09-13 20:56:22 +00:00
build-plugins.sh Got rid of various obsolete files, and moved the codeblocks workspace file. 2009-09-09 10:02:12 +00:00
build.rb Fixed up the Linux build. A couple minor OnePad changes. 2009-07-11 17:21:23 +00:00
clean_msvc.cmd superVU bugfix: Disable x86 regalloc since disabling EBP allocation causes some kind of problem with it (fixes God of War2, and is probably a speedup also -- not that it matters since sVU is mainly there as reference for solving NAN/INF problems). Also, removed a bunch of code that's no longer needed thanks to EBP being removed from regalloc. 2009-10-20 19:25:14 +00:00
pcsx2-codeblocks.workspace Linux compilation fixes and fix some signed/unsigned stuff in IsoReader. 2009-11-18 16:53:44 +00:00
pcsx2_suite_2008.sln MSVC: Added missing dependency build order settings for SPU2-X 2009-11-17 03:05:30 +00:00
pcsx2_suite_2010.sln Improved the safe_delete / safe_free macros to avoid potential block scoping pitfalls, and fixed what looks to have been a minor typo in Tags.h :) 2009-08-16 21:09:35 +00:00
rebuild.sh Correct the script, so that Linux is compilable. (If rebuild.sh is run before compiling.) 2009-09-07 00:50:36 +00:00