Add Jit Cache Regions! #615

Merged
FluffyOMC merged 21 commits from master into master 2025-02-10 21:53:44 +00:00
FluffyOMC commented 2025-02-03 07:09:44 +00:00 (Migrated from github.com)

Instead of one big 2048MB JIT Cache that'd crash the emulator when maxed out, we now have it where we add 256MB JIT Cache regions when needed, helping reduce allocated memory where games don't use the JIT cache for it, and helping bigger games that DO need JIT cache bigger than 2048MB!

image
(SSBU goes past the 2048MB JIT Cache limit that would normally crash Ryujinx ^)

Also I added a BSD socket that Baba is You's networking for downloading custom levels uses.

Instead of one big 2048MB JIT Cache that'd crash the emulator when maxed out, we now have it where we add 256MB JIT Cache regions when needed, helping reduce allocated memory where games don't use the JIT cache for it, and helping bigger games that DO need JIT cache bigger than 2048MB! ![image](https://github.com/user-attachments/assets/ff17dc48-6028-4377-8c73-746ab21ab83b) (SSBU goes past the 2048MB JIT Cache limit that would normally crash Ryujinx ^) Also I added a BSD socket that Baba is You's networking for downloading custom levels uses.
github-actions[bot] commented 2025-02-03 07:17:58 +00:00 (Migrated from github.com)
Download the artifacts for this pull request: * [ryujinx-Release-1.2.0+1d54ffc-linux_arm64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565932856.zip) * [ryujinx-Release-1.2.0+1d54ffc-linux_arm64-AppImage](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565933018.zip) * [ryujinx-Release-1.2.0+1d54ffc-linux_x64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565943525.zip) * [ryujinx-Release-1.2.0+1d54ffc-linux_x64-AppImage](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565943703.zip) * [ryujinx-Release-1.2.0+1d54ffc-macos_universal](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565944388.zip) * [ryujinx-Release-1.2.0+1d54ffc-win_x64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565974785.zip) <details><summary>Only for Developers</summary> * [ryujinx-Debug-1.2.0+1d54ffc-linux_arm64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565933339.zip) * [ryujinx-Debug-1.2.0+1d54ffc-linux_arm64-AppImage](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565933686.zip) * [ryujinx-Debug-1.2.0+1d54ffc-linux_x64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565948093.zip) * [ryujinx-Debug-1.2.0+1d54ffc-linux_x64-AppImage](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565948355.zip) * [ryujinx-Debug-1.2.0+1d54ffc-macos_universal](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565953861.zip) * [ryujinx-Debug-1.2.0+1d54ffc-win_x64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2565971282.zip) </details>
LotP1 commented 2025-02-03 11:15:20 +00:00 (Migrated from github.com)

I'd be interested in seeing if this has any performance impact.
I'll do some testing in TotK later.

I'd be interested in seeing if this has any performance impact. I'll do some testing in TotK later.
MrCuriowls commented 2025-02-03 15:35:46 +00:00 (Migrated from github.com)

I think you should make regions size editable from ui. A bigger size would make less allocation operations hence less disk resources usage.

I think you should make regions size editable from ui. A bigger size would make less allocation operations hence less disk resources usage.
LotP1 commented 2025-02-03 16:12:26 +00:00 (Migrated from github.com)

it doesn't impact disk at all, it's all in ram

it doesn't impact disk at all, it's all in ram
FluffyOMC commented 2025-02-03 17:39:03 +00:00 (Migrated from github.com)

@MrCuriowls As LotP1 said, this is the ram cache that slowly gets filled by a game running different/new functions.

@LotP1 As for performance... Maybe a very tiny difference due to it having to look through a smaller area of RAM for cached functions... But this change mainly just reduces ram usage.

@MrCuriowls As LotP1 said, this is the ram cache that slowly gets filled by a game running different/new functions. @LotP1 As for performance... Maybe a very tiny difference due to it having to look through a smaller area of RAM for cached functions... But this change mainly just reduces ram usage.
FluffyOMC commented 2025-02-03 17:40:16 +00:00 (Migrated from github.com)

I even tried for fun 512kb region sizes. I got up to 1436 regions in Smash but no performance drops or lag when making the new regions :P

I even tried for fun 512kb region sizes. I got up to 1436 regions in Smash but no performance drops or lag when making the new regions :P
MrCuriowls commented 2025-02-04 08:57:42 +00:00 (Migrated from github.com)

I hope these commits fixes Mario & Luigi Brothership Crash

I hope these commits fixes Mario & Luigi Brothership Crash
LotP1 commented 2025-02-04 08:58:46 +00:00 (Migrated from github.com)

@MrCuriowls this is unrelated to the brothership crash

@MrCuriowls this is unrelated to the brothership crash
GreemDev commented 2025-02-04 19:03:39 +00:00 (Migrated from github.com)

I hope these commits fixes Mario & Luigi Brothership Crash

Please stop with the copium, if the game was being fixed the PR description would say it, all you're doing is giving people false hope so they can say "I thought brothership was fixed" when they find out it's still as broken as it was before.

> I hope these commits fixes Mario & Luigi Brothership Crash Please stop with the copium, if the game was being fixed the PR description would say it, all you're doing is giving people false hope so they can say "I thought brothership was fixed" when they find out it's still as broken as it was before.
Sign in to join this conversation.
No description provided.