版本记录
版本号 | 时间 |
---|---|
V1.0 | 2018.06.20 |
前言
我们在做app的时候,不是做完功能就结束了,很多时候是需要进行检查和优化的,而xcode自带了一个很好的检查工具,可以检测内存泄漏。还可以查看哪一个方法比较耗时。还可以检测离屏渲染等等,随后的几篇我们就说一下这个工具的使用。感兴趣的可以看这几篇。
1.INSTRUMENTS调试工具的使用(一)
2.INSTRUMENTS调试工具的使用(二)
3.INSTRUMENTS调试工具的使用(三)
4.INSTRUMENTS调试工具的使用(四)
5.INSTRUMENTS调试工具的使用(五)
6.INSTRUMENTS调试工具的使用(六)
7.INSTRUMENTS调试工具的使用(七)
8.INSTRUMENTS调试工具的使用(八)
9.INSTRUMENTS调试工具的使用(九)
10. INSTRUMENTS调试工具的使用(十)
11. INSTRUMENTS调试工具的使用(十一) —— 简介(一)
12. INSTRUMENTS调试工具的使用(十二) —— 通常任务之启动Instruments(一)
13. INSTRUMENTS调试工具的使用(十三) —— 通常任务之简单了解Instruments(二)
14. INSTRUMENTS调试工具的使用(十四) —— 通常任务之创建、保存和打开跟踪文档(三)
15. INSTRUMENTS调试工具的使用(十五) —— 通常任务之指定目标应用和设备(四)
16. INSTRUMENTS调试工具的使用(十六) —— 通常任务之访问和使用个别仪器(五)
17. INSTRUMENTS调试工具的使用(十七) —— 通常任务之记录、暂停和停止跟踪(六)
18. INSTRUMENTS调试工具的使用(十八) —— 导航收集的数据之关于数据分析(一)
19. INSTRUMENTS调试工具的使用(十九) —— 导航收集的数据之导航时间轴窗格(二)
20. INSTRUMENTS调试工具的使用(二十) —— 导航收集的数据之导航详细面板(三)
21. INSTRUMENTS调试工具的使用(二十一) —— 导航收集的数据之将数据映射到源代码(四)
22. INSTRUMENTS调试工具的使用(二十二) —— 导航收集的数据之查看您应用的源代码(五)
23. INSTRUMENTS调试工具的使用(二十三) —— 分析你App的性能之测量CPU使用情况(一)
24. INSTRUMENTS调试工具的使用(二十四) —— 分析你App的性能之测量图形性能(二)
25. INSTRUMENTS调试工具的使用(二十五) —— 分析你App的性能之监视网络和文件I / O(三)
26. INSTRUMENTS调试工具的使用(二十六) —— 分析你App的内存使用之关于内存分析(一)
27. INSTRUMENTS调试工具的使用(二十七) —— 分析你App的内存使用之检测内存使用(二)
28. INSTRUMENTS调试工具的使用(二十八) —— 分析你App的内存使用之找到废弃的内存(三)
29. INSTRUMENTS调试工具的使用(二十九) —— 分析你App的内存使用之找到内存泄露(四)
30. INSTRUMENTS调试工具的使用(三十) —— 分析你App的内存使用之找到僵尸对象(五)
31. INSTRUMENTS调试工具的使用(三十一) —— 分析你App的能源之测量能源影响(一)
32. INSTRUMENTS调试工具的使用(三十二) —— 高级任务之导出和导入跟踪数据(一)
33. INSTRUMENTS调试工具的使用(三十三) —— 高级任务之创建自定义Instruments(二)
34. INSTRUMENTS调试工具的使用(三十四) —— 分析模板和工具之分析模板(一)
35. INSTRUMENTS调试工具的使用(三十五) —— 分析模板和工具之Activity Monitor工具(二)
36. INSTRUMENTS调试工具的使用(三十六) —— 分析模板和工具之Allocations工具(三)
37. INSTRUMENTS调试工具的使用(三十七) —— 分析模板和工具之蓝牙开关日志工具(四)
38. INSTRUMENTS调试工具的使用(三十八) —— 分析模板和工具之Carbon Events工具(五)
39. INSTRUMENTS调试工具的使用(三十九) —— 分析模板和工具之Cocoa Events工具(六)
40. INSTRUMENTS调试工具的使用(四十) —— 分析模板和工具之Connections工具(七)
41. INSTRUMENTS调试工具的使用(四十一) —— 分析模板和工具之Core Animation工具(八)
42. INSTRUMENTS调试工具的使用(四十二) —— 分析模板和工具之Core Data Cache Misses工具(九)
43. INSTRUMENTS调试工具的使用(四十三) —— 分析模板和工具之Core Data Faults工具(十)
44. INSTRUMENTS调试工具的使用(四十四) —— 分析模板和工具之Core Data Fetches工具(十一)
45. INSTRUMENTS调试工具的使用(四十五) —— 分析模板和工具之Core Data Saves工具(十二)
46. INSTRUMENTS调试工具的使用(四十六) —— 分析模板和工具之Counters工具(十三)
47. INSTRUMENTS调试工具的使用(四十七) —— 分析模板和工具之CPU Activity Log工具(十四)
48. INSTRUMENTS调试工具的使用(四十八) —— 分析模板和工具之Directory I/O工具(十五)
49. INSTRUMENTS调试工具的使用(四十九) —— 分析模板和工具之Dispatch工具(十六)
50. INSTRUMENTS调试工具的使用(五十) —— 分析模板和工具之Display Brightness Log工具(十七)
51. INSTRUMENTS调试工具的使用(五十一) —— 分析模板和工具之Displayed Surfaces工具(十八)
52. INSTRUMENTS调试工具的使用(五十二) —— 分析模板和工具之Energy Usage Log工具(十九)
53. INSTRUMENTS调试工具的使用(五十三) —— 分析模板和工具之GPS On/Off Log工具(二十)
Overview
Instrument Description | Supported Platforms | Related Profiling Templates |
---|---|---|
This instrument samples GPU driver statistics |
iOS、OS X |
OpenGL ES Analysis Profiling Template |
Timeline Pane - 时间线窗格
时间轴窗格显示基于工具Style配置的信息。
Record Settings - 记录设置
本instrument
没有任何可配置的记录设置。
Display Settings - 显示设置
单击检查器窗格中的显示设置按钮以自定义以下显示设置。
1. Sampling Rate - 采样率
设置仪器记录信息的频率。 该滑块允许以1/10秒的增量从1/10秒到1秒进行采样。 文本字段允许其他1/10增量。 默认值是1/10秒
2. Track Display Settings - 跟踪显示设置
这些设置控制信息在时间线窗格中的显示方式
Setting | Description | Options |
---|---|---|
Style |
How information is presented |
Block Graph: Information is presented as a horizontal line until the information changes. The area under the line is filled by the statistic’s designated color |
Detail Pane Columns - 详细面板列
1. Table Detail Type - 列表详细类型
以下table列在详细信息窗格中可用。
Column name | Definition |
---|---|
# |
The sequence number |
Buffer Flip Count |
The total number of buffer slips that the GPU performs |
Buffer Swap Count |
The total number of buffer swaps that the GPU performs |
Client GL Wait Time |
The amount of time, in nanoseconds, that the CPU waits while the client OpenGL driver waits for a hardware time stamp to arrive |
Command 2D Bytes Per Sampl |
The number of bytes sent using 2D graphics contexts during the sample period |
Command Bytes Per Sample |
The number of bytes sent using all graphics contexts during the sample period |
Command GL Bytes Per Sample |
The number of bytes sent using OpenGL contexts during the sample period |
Command Video Bytes Per Sample |
The number of bytes sent using video contexts during the sample period |
Context 2D Count |
The total number of 2D contexts in use on the GPU |
Context 2D Switch Count |
The total number of context switches to a 2D context on the GPU |
Context CL Switch Count |
The total number of switches to an OpenCL context on the GPU |
Context CL Count |
The total number of OpenCL contexts in use on the GPU |
Context GL Count |
The total number of OpenGL contexts in use on the GPU |
Context GL Switch Count |
The total number of switches to an OpenGL context on the GPU |
Context Video Count |
The total number of video contexts in use on the GPU |
Context Video Switch Count |
The total number of switches to a video context on the GPU |
Data Buffer Count |
The total number of extra OpenGL data buffers that have been allocated |
Data Bytes Per Sample |
The total number of bytes used during the sample period |
Finish All 2D Wait Time |
The amount of time, in nanoseconds, that the CPU waits for all GPU operations to complete and then to be idle |
Finish 2D Wait Time |
The amount of time, in nanoseconds, that the CPU waits for all 2D commands issued on a single context to complete |
Finish CL Wait Time |
The amount of time, in nanoseconds, that the CPU waits for all OpenCL commands issued on a single context to complete |
Finish GL Wait Time |
The amount of time, in nanoseconds, that the CPU waits for all OpenGL commands issued on a single context to complete |
Finish Video Wait Time |
The amount of time, in nanoseconds, that the CPU waits for all video commands issued on a single context to complete |
Free Command Buffer 2D Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a 2D command buffer to become available |
Free Command Buffer CL Wait Time |
The amount of time, in nanoseconds, that the CPU waits for an OpenCL command buffer to become available |
Free Command Buffer GLWait Time |
The amount of time, in nanoseconds, that the CPU waits for an OpenGL command buffer to become available |
Free Command Buffer Video Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a video command buffer to become available |
Free Context Buffer 2D Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a 2D context-switching buffer to become available |
Free Context Buffer CL Wait Time |
The amount of time, in nanoseconds, that the CPU waits for an OpenCL context-switching buffer to become available |
Free Context Buffer GL Wait Time |
The amount of time, in nanoseconds, that the CPU waits for an OpenGL context-switching buffer to become available |
Free Context Buffer Video Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a video context-switching buffer to become available |
Free Data Buffer GL Wait Time |
The amount of time, in nanoseconds, that the CPU waits for an OpenGL data buffer to become available |
Free Data Buffer Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a data buffer to become available |
Free Surface Backing Wait Time |
The amount of time, in nanoseconds, that the CPU waits for the back buffer to become available |
Free Surface Swap Buffer Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a surface buffer to become available |
Gart Cache Bytes |
The minimum amount of data, in bytes, that a driver tries to keep mapped into an AGP graphics address remapping table |
Gart Free Bytes |
The total number of free bytes in the AGP graphics address remapping table |
Gart Map In Bytes Per Sample |
The number of bytes that are mapped into the AGP graphics address remapping table during the sample period |
Gart Map Out Bytes Per Sample |
The number of bytes that are unmapped from the AGP graphics address remapping table during the sample period |
Gart Size Bytes |
The total size, in bytes, of the AGP graphics address remapping table |
Gart Used Bytes |
The total number of bytes mapped into the AGP graphics address remapping table |
Hardware Submit Wait Time |
The amount of time, in nanoseconds, that the CPU waits before being able to submit a new batch of commands to the GPU |
Hardware Wait Time |
The amount of time, in nanoseconds, that the CPU stalled while waiting on the GPU for any reason |
IO Surface Page In Bytes Per Sample |
The number of bytes that are mapped to surface pages during the sample period |
IO Surface Page Out Bytes Per Sample |
The number of bytes that are unmapped from surface pages during the sample period |
Orphaned Non Reusable Sys Memory Bytes |
|
Orphaned Non Reusable Sys Memory Count |
|
Orphaned Non Reusable Vid Memory Bytes |
|
Orphaned Non Reusable Vid Memory Count |
|
Orphaned Reusable Sys Memory Bytes |
|
Orphaned Reusable Sys Memory Count |
|
Orphaned Reusable Sys Memory Hit Rate |
|
Orphaned Reusable Vid Memory Bytes |
|
Orphaned Reusable Vid Memory Count |
|
Orphaned Reusable Vid Memory Hit Rate |
|
Recovery Count |
The total number of recovery actions performed |
Remove From GART Wait Time |
The amount of time, in nanoseconds, the CPU waits for the GPU to finish an operation on a buffer that needs to be removed from the graphics address remapping table |
Surface Copy In Wait Time |
The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU can page a surface in to VRAM |
Surface Copy Out Wait Time |
The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU can page a surface out of VRAM |
Surface Count |
The total number of surfaces allocated by the GPU |
Surface Page In Bytes Per Sample |
The number of bytes transferred due to surface page-on transactions during the sample period |
Surface Page Out Bytes Per Sample |
The number of bytes transferred to surface page-off transactions during the sample period |
Surface Read Lock Idle Wait Time |
The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU may read from a surface |
Surface Set Shape Idle Wait Time |
The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU may change the dimensions of a surface |
Surface Write Lock Idle Wait Time |
The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU may write to a surface |
Swap Bytes Per Sample |
The number of bytes sent by the swap command during the sample period |
Swap Complete 2D Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a previously issued 2D buffer swap to complete |
Swap Complete GL Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a previously issued OpenGL buffer swap to complete |
Swap Complete Video Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a previously issued video buffer swap to complete |
Texture Count |
The total number of kernel textures allocated by the GPU |
Texture Page In Bytes Per Sample |
The number of bytes transferred for texture page-ins during the sample. Does not include textures mapped using AGP |
Texture Page In Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a texture upload command to be completed by the GPU |
Texture Page Out Bytes Per Sample |
The number of bytes transferred for texture page-off operations during the sample period |
Texture Page Out Wait Time |
The amount of time, in nanoseconds, that the CPU waits for the GPU to finish an activity |
Texture Wait Time |
The amount of time, in nanoseconds, that the CPU waits for a texture upload to complete before the buffer can be modified |
Volatile Surface Count |
The total number of volatile surfaces allocated by the GPU |
后记
本篇主要讲述了
GPU Driver
工具,感兴趣的给个赞或者关注~~~~