Update index.md

This commit is contained in:
Matías Locatti 2023-07-09 03:23:46 -03:00 committed by GitHub
parent dd4a515a4c
commit 0a91138689
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -445,17 +445,7 @@ The Steam Deck by default runs a Linux distribution.
Linux doesnt benefit from these changes as its kernel, unlike Windows, is actually decent and can run high-precision timer events without any problem or undocumented SDK usage. If theres no need to spin the CPU at all, it gets to idle properly.
So unless you installed Windows onto your Steam Deck, you already had the best performance it can offer.
Long gameplay sessions can sometimes feel like a gamble regarding stability.
Thats a very common problem for emulators due to how they have to handle memory in unique ways to match two completely different systems.
This was especially true for Linux users, who had to rely on increasing the size of the `vm.max_map_count` kernel parameter for certain games to avoid out-of-memory crashes.
Since the emulator needs to create placeholder memory mappings to keep up with the virtual memory requirements of the game, it wasnt hard to saturate the default value, resulting in a crash once the placeholder mappings outnumbered the max mapping count.
Enter newcomer [kkoniuszy](https://github.com/kkoniuszy), who had a simple yet very effective idea.
By {{< gh-hovercard "10550" "keeping track of the creation" >}} of such placeholder mappings and using that information to create fewer larger ones instead of several smaller ones, the stress on `vm.max_map_count` is reduced and generally no longer needs to be modified.
This results in stable game sessions when playing for hours.
Thank you!
### ARM changes
## ARM changes
The Android release taught us something very important: Using [Dynarmic](https://github.com/merryhime/dynarmic) adds a lot of overhead on ARM CPUs. While this doesn't pose any major obstacles on Apple Silicon M1 and M2 Macs, it's a big problem for Android devices, which are constantly power-limited with virtually no room for waste.
@ -473,6 +463,18 @@ Block linking allows blocks of guest code that directly jump to each other to di
After enabling it, this resulted in a 60-70% performance boost for 32-bit games like `Mario Kart 8 Deluxe` on Android SoCs.
This serves as yet another reminder that emulation is very CPU-focused.
## Linux specific fix
Long gameplay sessions can sometimes feel like a gamble regarding stability.
Thats a very common problem for emulators due to how they have to handle memory in unique ways to match two completely different systems.
This was especially true for Linux users, who had to rely on increasing the size of the `vm.max_map_count` kernel parameter for certain games to avoid out-of-memory crashes.
Since the emulator needs to create placeholder memory mappings to keep up with the virtual memory requirements of the game, it wasnt hard to saturate the default value, resulting in a crash once the placeholder mappings outnumbered the max mapping count.
Enter newcomer [kkoniuszy](https://github.com/kkoniuszy), who had a simple yet very effective idea.
By {{< gh-hovercard "10550" "keeping track of the creation" >}} of such placeholder mappings and using that information to create fewer larger ones instead of several smaller ones, the stress on `vm.max_map_count` is reduced and generally no longer needs to be modified.
This results in stable game sessions when playing for hours.
Thank you!
## Input improvements
The work on making those fancy plastics with Near-Field Communication (NFC) behave like on the Switch continues.