注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

性能调试利器 ---- GPUView  

2012-09-07 08:17:49|  分类: win32_d3d9 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Windows Vista Display Driver Model
性能调试利器 ---- GPUView - kasicass - Code@Pig Home
每个 app 有一个队列,操作系统根据每个 app 的队列,动态将任务丢到 GPU 的队列。
如果 GPU 队列空了,则 GPU 空闲。

A CPU-only Application
先看一个 VC 编译时抓到的数据,抓取数据:
cd Microsoft Windows Performance Toolkit\GPUView>
> log.cmd                               # 开始(记得用管理员权限的cmd.exe)
> log.cmd                               # 结束
> GPUView.exe Merged.etl    # 看结果
性能调试利器 ---- GPUView - kasicass - Code@Pig Home
 
最上面一行是时间标尺。
第二行是 GPU 队列的任务情况。(GPU hardware queue)
然后是 Idle 以及各种进程的情况。
每个进程最开始会有自己“App的GPU任务队列(command queue)“,然后是此进程下每个线程对CPU的占用情况。
dwm.exe 是 win7 的 Desktop Window Manager,好看的界面就是它搞出来的。http://www.shaduruanjian8.com/20110922_dwm-exe
不要看 dwm.exe 下面那个线程的 CPU 消耗很高,其实时间比例尺放大后,可以看到分段的时间片。
devenv.exe 就是 VC 啦。
从图中可看出,GPU hardware queue 基本是空的。

to be continue ...

参考资料

获取GPUView
Win8之前,GPUView在 Windows SDK 7 中,与 xperf 一并安装。
Win8开始,xperf 作为 VS 的一部分安装,而 GPUView 需要单独安装 Standalone Windows SDK 8
Standalone Windows SDK 8 下载:

FAQ
1. Win8下启动 log.cmd 提示 "此时不应有 4000"?
    缺少环境变量 TRACE_LOGGING_MEMORY 时,log.cmd 会通过扫描 systeminfo.exe 的结果来查看内存大小。
    悲剧的是,中文系统下 systeminfo.exe 的输出与 log.cmd 的期望不符(有中文)。可以这样解决:
    > set TRACE_LOGGING_MEMORY=4196
    > log.cmd

2. Win8 记录 dx9 events?
    不知道下面这个是否为解决方案,从 GPUView.chm 上看到的。
    Enabling Logging of DirectX Video Acceleration Version 2 and Direct3D Version 9 Events
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation] "WmiInstrumentation"=dword:00000001
  评论这张
 
阅读(4707)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017