Ryujinx-uplift/Ryujinx.Memory/Range
riperiperi fff48bb45a
Smaller initial size for ModifiedRangeList & directly inherit range list (#2663)
This fixes a potential regression with the new range list changes, where the cost for creating new ones would be rather large due to creating a 1024 size array. Also reduces cost for range list inheritance by using the first existing range list as a base, rather than creating a new one then adding both lists to it.

The growth size for the RangeList is now identical to its initial size. Every 32 elements was probably a little too common - now it is 1024 for most things and 8 for the buffer modified range list.

The Unmapped and SyncMethod methods have been changed to ensure that they behave properly if the range list is set null. Cleaned up a few calls to use the null-conditional operator.
2021-10-04 15:38:59 -03:00
..
HostMemoryRange.cs POWER - Performance Optimizations With Extensive Ramifications (#2286) 2021-05-24 22:52:44 +02:00
IMultiRangeItem.cs Support for resources on non-contiguous GPU memory regions (#1905) 2021-01-17 19:44:34 +01:00
INonOverlappingRange.cs Memory Read/Write Tracking using Region Handles (#1272) 2020-10-16 17:18:35 -03:00
IRange.cs Memory Read/Write Tracking using Region Handles (#1272) 2020-10-16 17:18:35 -03:00
MemoryRange.cs Support for resources on non-contiguous GPU memory regions (#1905) 2021-01-17 19:44:34 +01:00
MultiRange.cs Improve handling for unmapped GPU resources (#2083) 2021-03-06 11:43:55 -03:00
MultiRangeList.cs Implement and use an Interval Tree for the MultiRangeList (#2641) 2021-09-19 14:55:07 +02:00
NonOverlappingRangeList.cs Memory Read/Write Tracking using Region Handles (#1272) 2020-10-16 17:18:35 -03:00
RangeList.cs Smaller initial size for ModifiedRangeList & directly inherit range list (#2663) 2021-10-04 15:38:59 -03:00