| OLD | NEW |
| 1 # Memory Usage in CC | 1 # Memory Usage in CC |
| 2 | 2 |
| 3 This document gives an overview of memory usage in the CC component, as well as | 3 This document gives an overview of memory usage in the CC component, as well as |
| 4 information on how to analyze that memory. | 4 information on how to analyze that memory. |
| 5 | 5 |
| 6 [TOC] | 6 [TOC] |
| 7 | 7 |
| 8 ## Types of Memory in Use | 8 ## Types of Memory in Use |
| 9 | 9 |
| 10 CC uses a number of types of memory: | 10 CC uses a number of types of memory: |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 size will be attributed to cc/tile_memory (effective_size of cc/resource_memory | 36 size will be attributed to cc/tile_memory (effective_size of cc/resource_memory |
| 37 will not include these resources). | 37 will not include these resources). |
| 38 | 38 |
| 39 If the one-copy tile update path is in use, the cc category will also enumerate | 39 If the one-copy tile update path is in use, the cc category will also enumerate |
| 40 staging resources used as intermediates when drawing tiles. These resources are | 40 staging resources used as intermediates when drawing tiles. These resources are |
| 41 like tile_memory, in that they are shared with cc/resource_memory. | 41 like tile_memory, in that they are shared with cc/resource_memory. |
| 42 | 42 |
| 43 Note that depending on the path being used, CC memory may be either shared | 43 Note that depending on the path being used, CC memory may be either shared |
| 44 memory or GPU memory: | 44 memory or GPU memory: |
| 45 | 45 |
| 46 ``` |
| 46 Path | Tile Memory Type | Staging Memory Type | 47 Path | Tile Memory Type | Staging Memory Type |
| 47 -------------|------------------------------------------- | 48 -------------|------------------------------------------- |
| 48 Bitmap | Shared Memory | N/A | 49 Bitmap | Shared Memory | N/A |
| 49 One Copy | GPU Memory | Shared Memory | 50 One Copy | GPU Memory | Shared Memory |
| 50 Zero Copy | GPU or Shared Memory | N/A | 51 Zero Copy | GPU or Shared Memory | N/A |
| 51 GPU | GPU Memory | N/A | 52 GPU | GPU Memory | N/A |
| 53 ``` |
| 52 | 54 |
| 53 Note that these values can be determined from a memory-infra dump. For a given | 55 Note that these values can be determined from a memory-infra dump. For a given |
| 54 resource, hover over the small green arrow next to it's "size". This will show | 56 resource, hover over the small green arrow next to it's "size". This will show |
| 55 the other allocations that this resource is aliased with. If you see an | 57 the other allocations that this resource is aliased with. If you see an |
| 56 allocation in the GPU process, the memory is generally GPU memory. Otherwise, | 58 allocation in the GPU process, the memory is generally GPU memory. Otherwise, |
| 57 the resource is typically Shared Memory. | 59 the resource is typically Shared Memory. |
| 58 | 60 |
| 59 Tile and Staging memory managers are set up to evict any resource not used | 61 Tile and Staging memory managers are set up to evict any resource not used |
| 60 within 1s. | 62 within 1s. |
| 61 | 63 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 Shared Memory GpuMemoryBuffer objects are allocated by the browser and will | 118 Shared Memory GpuMemoryBuffer objects are allocated by the browser and will |
| 117 also tracked in this category. | 119 also tracked in this category. |
| 118 | 120 |
| 119 ## Memory TODOs | 121 ## Memory TODOs |
| 120 | 122 |
| 121 The following areas have insufficient memory instrumentation. | 123 The following areas have insufficient memory instrumentation. |
| 122 | 124 |
| 123 1. DisplayLists - DisplayLists can be quite large and are currently | 125 1. DisplayLists - DisplayLists can be quite large and are currently |
| 124 un-instrumented. These use malloc memory and currently contribute to | 126 un-instrumented. These use malloc memory and currently contribute to |
| 125 malloc/allocated_objects/<unspecified>. [BUG](https://crbug.com/567465) | 127 malloc/allocated_objects/<unspecified>. [BUG](https://crbug.com/567465) |
| OLD | NEW |