Search Issue Tracker

Fixed in 0.2.6-preview.1



Found in [Package]


Issue ID




[Memory Profler] In Linear Color Space, Colors in Memory Map differ from Legend, are hard to read and tell appart

Package: Memory Profiler


How to reproduce:
1. Open any (empty) Unity Project (2018.3 or newer) and under Player Settings / Other make sure Color Space to Linear
2. Open the Memory Profiler (Window->Analysis->Memory Profiler)
3. Load in the user attached snapshot "Snapshot-637297360362316477.snap"
5. Open the snapshot and to to the Memory Map view
6. Set the Row Size to 16 MB
7. Inspect the memory map and try to map colors from the Legend at the top to the map below

Actual result: Legend and Chart colors do not fully match up, are mostly darker and very hard to read against each other due to low contrast.
Expected result: Legend and Chart colors match up and are easy to read and contrast well

Reproducible with: Any Unity version from 2018.3 up and any version of com.unity.memoryprofiler that includes the Memory Map, up to and including 0.2.5-preview.1 with the Color Space set to Linear

Not Reproducible with: any version with Color Space set to Gamma

The main issue here seems to be that the colors in the Chart are using non-linear color space while the legend is using linear color space. Linear Color space became the default color space used in new projects during the 2019 cycle, which is why we also treat this as a regression.

Besides that regression, which is caused by a change in the underlying Unity version somewhere in the 2019.x cycle there are some further aspects to this:
1. Some Native Allocations and Native Objects displayed in the Memory Map do not fall within a Native Region and therefore get drawn at 40% opacity
2. Even with correct color space, some colors might be a bit too close together or too close to the underlying editor background color (e.g. Virtual Memory in dark theme)
3. Memory Map doesn't use Color Blind color palette when switching the color blind setting on in the Profiler window toolbar.

  1. Resolution Note (fix version 0.2.6-preview.1):

    This bug case and its associated fix only concern the issues resulting from a project using Linear Color Space.
    For the side aspects noted above, new bug tickets have been raised to track them and their fixes separatedyl

    1. a) Native Objects spanning memory address ranges bigger than those covered by the Native Allocations they originate in are being tracked in Case 1278205

    1. b) Native Allocations (and the Objects within them) falling outside of Native memory regions, aka "Native Memory (Reserved)" are being tracked as Case 1278203

    2 and 3 are tracked as Feature Requests / Necessary Improvements outside of the Issue Tracker.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.