Introducing Profiled Persistent Translation Cache

Introducing Profiled Persistent Translation Cache

We are proud to announce a new feature today in Ryujinx: the Profiled Persistent Translation Cache (PPTC)

What is the Profiled Persistent Translation Cache?

In a nutshell, this feature caches translated functions so that they do not need to be translated every time the game loads.
This results in a significant reduction of load times (the amount of time between launching a game and arriving at the title screen) for nearly every game.
Hardware used in following tests: i5-6600K and NVIDIA GTX 1080.


How it Works:

After enabling the profiled persistent translation cache option from the GUI, during the first start of a title a profiling file (.info) is created or updated; at the second start of the title the already saved profiling information is used to decide which new functions must be translated and how. Any function not translated will be translated at the next run; at the end of this phase a cache file (.cache) is created and the execution continues. At the third start of the title the already translated and saved functions are used to speed up the loading of the title.
As long as the system remains enabled, these phases are repeated at or during the reuse of the title, allowing a progressive growth of the profiling file and the cache file, limiting the use of the resources.

These cache files are located in the User’s AppData\Roaming\Ryujinx\games\<game id>\cache\cpu folder and will generally take up 40-60MB of storage space per game.

How to Enable Profiled Persistent Translation Cache:

NOTE: You must launch the game at least twice to the title screen or beyond before performance improvements are unlocked on the third launch! These improvements are permanent and do not require any extra launches going forward.

  1. Open Ryujinx and click on Options > Settings:

  2. Navigate to the System tab and check the box marked Enable Profiled Persistent Translation Cache:
    Click Save to save your changes