|
| 1 | +Compare windows |
| 2 | +=============== |
| 3 | + |
| 4 | +These panes allow the user to compare snapshots to see how allocations and |
| 5 | +resources have changed over time. |
| 6 | + |
| 7 | +Snapshot delta |
| 8 | +-------------- |
| 9 | + |
| 10 | +The snapshot delta gives a high level overview of the differences between two |
| 11 | +snapshots. It shows the difference in the number of allocations and resources |
| 12 | +for each heap type. |
| 13 | + |
| 14 | +The carousel works in a similar way to the carousel in the **Resource list** pane |
| 15 | +but now shows the differences between the 2 snapshots, indicating such things as |
| 16 | +whether memory consumption has gone up or down. |
| 17 | + |
| 18 | +The "**Switch snapshots**" button in the top right corner under the settings |
| 19 | +tab can be used to switch the snapshots. |
| 20 | + |
| 21 | +.. image:: media/compare/snapshot_delta_1.png |
| 22 | + |
| 23 | +Memory leak finder |
| 24 | +------------------ |
| 25 | + |
| 26 | +This pane shows the list of resources from both snapshots and allows them to be |
| 27 | +filtered depending on whether they are unique to one snapshot or present in |
| 28 | +both. This filtering can be achieved using the 3 checkboxes at the top. For example, |
| 29 | +just selecting the middle checkbox will show resources common to both snapshots. |
| 30 | +Underneath each checkbox is a summary of the number of resources that the checkbox |
| 31 | +represents and the total amount of memory used for that checkbox. For example, the |
| 32 | +left-most checkbox will show resources that are only present in the first snapshot. |
| 33 | + |
| 34 | +As with the other panes, search strings and the "**Filter by size**" slider can be |
| 35 | +used to narrow down the list of resources. |
| 36 | + |
| 37 | +Double-clicking on a resource will navigate to the **Resource details** pane and |
| 38 | +allow the snapshot to be viewed in the SNAPSHOT tab. If a resource is common to |
| 39 | +both snapshots, the base snapshot will be used. |
| 40 | + |
| 41 | +.. image:: media/compare/memory_leak_finder_1.png |
| 42 | + |
| 43 | + |
| 44 | +Vulkan resource naming |
| 45 | +---------------------- |
| 46 | +Pipelines, images and buffers can be given unique names and these names will |
| 47 | +show up in the RMV UI. The Vulkan extension VK_EXT_debug_utils can be used for this. |
| 48 | + |
| 49 | +For more information, see the document: |
| 50 | + |
| 51 | +https://www.lunarg.com/wp-content/uploads/2018/05/Vulkan-Debug-Utils_05_18_v1.pdf |
| 52 | + |
| 53 | +specifically the section "Naming Objects" |
| 54 | + |
| 55 | +DirectX 12 resource naming |
| 56 | +-------------------------- |
| 57 | +Memory traces for DirectX applications captured with the Radeon Developer Panel |
| 58 | +can include unique names for resources like heaps, buffers and textures. Names can be assigned to |
| 59 | +DirectX resources using the ``ID3D12Object::SetName()`` method. |
| 60 | +For more information, please review the Microsoft DirectX 12 documentation. |
| 61 | + |
| 62 | +Calling the ``SetName()`` |
| 63 | +method results in ETW (Event Tracing for Windows) events being emitted and picked |
| 64 | +up by the Panel. This resource naming information is then included in the RMV trace |
| 65 | +file. |
| 66 | + |
| 67 | +Due to the asynchronous nature of the event tracing, memory events that happen a short time before the process exit |
| 68 | +may show up incorrectly in RMV in terms of naming, as well as |
| 69 | +marking and filtering out implicit heaps (created for committed resources) |
| 70 | +and implicit buffers (that D3D12 runtime creates automatically for every explicitly created heap). |
| 71 | +To overcome this problem, it is recommended to introduce a delay of few seconds |
| 72 | +between memory events of interest and the process exit. |
| 73 | + |
| 74 | +Viewing resource names |
| 75 | +---------------------- |
| 76 | +The resource names will show up in the RMV UI in the resource list pane, for example: |
| 77 | + |
| 78 | +.. image:: media/vk_resource_naming_1.png |
0 commit comments