PCSX2 - The Playstation 2 Emulator
Go to file
Dan McCarthy d309e24e60 Debugger: Reduces RAM useage for searches (Act 1)
Reduces memory useage during memory searching process.
- Minimizes passing by copy, uses references to avoid causing copies
- Deletes FutureWatcher ptr when no longer needed to avoid leaking memory (thanks Fobes)
- Updates the search results vector in-place so that no extra copies are needed.
- Makes use of std::move to transfer resources instead of keeping two copies.
- No longer keeps a copy of prior search results in addition to the active search, the stored results are transferred to the search worker and then transferred back.

More improvements to be made, but making a first that should make a
decent impact.

Also: Updates storage of prior results a s a vector now.
Prior since the results were stored in a hashmap, the .keys() function needed to be used to index at an arbitrary point when loading results into the UI.

This caused a big spike in memory usage when the results count is particularly large.
Using a vector optimizes this as we don't need to add any memory when indexing in this way.

Also unlike before when we used vector, we're also removing elements in place when doing filter searches so we don't need two vectors.
2024-03-14 01:42:11 +01:00
.github CI: Update to SDL2 2.30.1 and Qt 6.6.2 2024-03-09 14:04:14 +10:00
3rdparty OSD: Fix Recording Icon 2024-03-05 12:19:51 +00:00
bin PAD: Update to latest controller database. 2024-03-11 17:04:34 +01:00
cmake CI: Update to SDL2 2.30.1 and Qt 6.6.2 2024-03-09 14:04:14 +10:00
common Path: Add CreateFileURL() 2024-03-13 20:13:35 +10:00
pcsx2 OSD: Add Memcard Icon in more places 2024-03-13 11:57:36 +00:00
pcsx2-gsrunner UI: Remove option to disable per-game settings 2024-02-17 02:41:20 +00:00
pcsx2-qt Debugger: Reduces RAM useage for searches (Act 1) 2024-03-14 01:42:11 +01:00
tests Path: Add CreateFileURL() 2024-03-13 20:13:35 +10:00
tools Tools: Fix glyph range generator script 2023-12-30 22:55:49 +10:00
updater Qt: Invoke Updater as Administrator for Program Files installs 2024-01-14 18:03:10 +10:00
.clang-format clang-format: change alignment settings 2021-04-18 17:39:09 -05:00
.codacy.yaml codacy: Exclude md files. 2022-11-29 09:46:18 +00:00
.gitattributes recording: Many adjustments on VirtualPad from review feedback 2020-10-01 17:52:59 +01:00
.gitignore Debugger: Adds loading breakpoints/saved addresses from settings 2024-01-24 20:06:20 +10:00
.gitmodules 3rdparty/rcheevos: Bump to 3d01191 and move in-tree 2024-02-29 15:46:05 +10:00
.prettierrc.yaml ci: format the GameDB and make sure it stays that way 2022-05-23 13:08:48 +01:00
CMakeLists.txt CMake: Move unsupported compiler warning to end 2023-12-31 13:08:03 +10:00
CMakePresets.json CMake: Tidy up platform/architecture detection 2023-12-30 14:00:03 +10:00
COPYING.GPLv3 copyright again: 2012-04-18 14:09:18 +00:00
COPYING.LGPLv3 copyright again: 2012-04-18 14:09:18 +00:00
PCSX2_qt.sln CDVD: Add ZSO support (#10396) 2023-12-15 13:05:04 +10:00
README.md Readme: Update and Remove Redundant Info 2024-01-04 20:31:09 +00:00
crowdin.yml Update Crowdin configuration file 2024-01-14 14:18:03 -05:00

README.md

PCSX2

Windows Build Status Linux Build Status MacOS Build Status Codacy Badge Discord Server

PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.

Project Details

PCSX2 has been in development for more than 20 years. Past versions could only run a few public domain game demos, but newer versions can run most games at full speed, including popular titles such as Final Fantasy X and Devil May Cry 3. Visit the PCSX2 compatibility list to check the latest compatibility status of games (with more than 2500 titles tested).

Installers and binaries for both stable and nightly builds are available from our website.

System Requirements

PCSX2 supports Windows, Linux, and Mac platforms. Our setup documentation page contains additional details on software and hardware requirements.

Please note that a BIOS dump from a legitimately-owned PS2 console is required to use the emulator. For more information, visit this page.

Contributing / Building

PCSX2 supports translation into other languages using Crowdin.

See the Contributing Guidelines or visit the GitHub Wiki for more info on how to contribute.