mirror of
https://git.ryujinx.app/kenji-nx/ryujinx.git
synced 2025-12-14 07:37:04 +00:00
* Refactors the RangeList and derivative classes used for handling lists of regions * The Binary searches are now more performant, relying on edge searches instead of just returning the first matching hit and manually iterating until the edge is found * Most look-ups now return a RangeItem, which acts as a linked list node now, instead where possible, moving away from Array copies. This should help with some specific lag spikes. * Made IntrusiveRedBlackTreeNodes act like linked list nodes too to improve the lookup time of minimums, maximums and successors. * Changed a few cases of HasFlag() into binary operations to save on memory allocations. In general, [these changes] should increase frame time stability and lag spikes, but at the cost of some overhead to memory look-ups, the result being a very slightly better average fps from my testing (~1-2%). |
||
|---|---|---|
| .. | ||
| Range | ||
| Tracking | ||
| WindowsShared | ||
| AddressSpaceManager.cs | ||
| BytesReadOnlySequenceSegment.cs | ||
| InvalidAccessHandler.cs | ||
| InvalidMemoryRegionException.cs | ||
| IRefCounted.cs | ||
| IVirtualMemoryManager.cs | ||
| IWritableBlock.cs | ||
| MemoryAllocationFlags.cs | ||
| MemoryBlock.cs | ||
| MemoryConstants.cs | ||
| MemoryManagement.cs | ||
| MemoryManagementUnix.cs | ||
| MemoryManagementWindows.cs | ||
| MemoryManagerUnixHelper.cs | ||
| MemoryMapFlags.cs | ||
| MemoryNotContiguousException.cs | ||
| MemoryPermission.cs | ||
| MemoryProtectionException.cs | ||
| NativeMemoryManager.cs | ||
| PageTable.cs | ||
| Ryujinx.Memory.csproj | ||
| SparseMemoryBlock.cs | ||
| VirtualMemoryManagerBase.cs | ||
| WritableRegion.cs | ||