又来了!三个月过去了,因为我们谈论什么是新的 Visual Studio 2013 Update 2中的图形开发 . 从那时起,团队一直致力于带来更多 图形诊断 Visual Studio中的功能。我很高兴与您分享我们在VisualStudio2013更新3 RC中刚刚发布的内容( 下载VS 2013更新3 RC , 布莱恩·哈里的公告博客 ,和 发行说明 ).
Visual Studio图形诊断(VSGD) 是一种帮助诊断DirectX应用程序中的图形渲染和性能问题的工具。可以使用菜单“调试”->“图形”->“启动诊断”或当前解决方案上的Alt+F5或VS中的exe启动它。如果您以前没有使用或阅读过VSGD, 图形诊断概述 这是个好的开始。以下是VSGD在VS 2013 Update 3 RC中的新功能的高级摘要:
- 新的visualstudio图形分析器IDE:用于分析图形帧的专用空间
- 着色器编辑和应用:在捕获的日志中查看着色器代码更改的影响,而无需重新运行应用程序
- 在“工具”->“选项”->“图形诊断”中配置捕获选项
- 用于捕获和回放帧的命令行工具
如果您喜欢观看这些功能的运行,请检查 发布最新消息 Channel9视频,我演示了以下功能 . 作为奖励,您还将看到支持此功能的团队成员以及此视频中我们办公室的外观。 J
新的visualstudio图形分析器IDE:用于分析图形帧的专用空间
我们听到你的反馈 捕获帧 按钮不是最容易找到的东西;我们听到你的反馈 管理各种图形工具窗口 在VSIDE内部并不容易。所以,我们对体验做了一些改变,希望你会喜欢。
首先 图形诊断 工具现在运行在 性能和诊断 集线器 提供与您可能熟悉的其他诊断工具(如 CPU使用率 和 内存使用 (尽管图形诊断工具仅通过“调试”->“图形”菜单可用,并且无法从“集线器启动”页面启动)。在会话文件的上部,有一个用于 帧时间 再来一个给你 每秒 这会让你知道你的应用程序运行的有多快。红线表示您可以在下拉列表中为每个泳道配置的阈值。默认设置为60 FPS。底部列出了当前会话中捕获的帧以及一个大的 捕获帧 以防你没注意到。 J
我们还改进了 分析框架 . 如何找到更好的方法来帮助您轻松管理VSIDE中的各种图形工具窗口,对我们来说是一个挑战。我们探讨了如何提供一个集中的环境来分析帧,而不干扰VS IDE中可能正在进行的其他任务的许多选项,因此这里是Update 3 RC中的新体验:
捕获帧后,双击 诊断会话 文件,或者只需单击 框架# 链接将在另一个名为 Visual Studio图形分析器 (VSGA)。VSGA是一个定制的VS环境,它只包含分析帧所需的组件。它的重量轻,内存占用小。它提供了一个熟悉的(与Shell相同!)但是高度集中的分析帧的环境,在这个环境中,您可以以与以前相同的方式访问所有相关信息,包括事件列表、像素历史记录、管道阶段、对象、事件调用堆栈和调试着色器代码。您还可以配置VSGA的外观,以便使用VSGA中的VIEW->Options页更容易将其与常规的vside窗口区分开来。请注意,屏幕截图中的VSGA窗口使用的是深色主题,而VS使用的是浅色主题。
你可以保存 诊断会话 在VS中归档或保存 图像记录 在VSGA中归档以备日后检查。
着色器编辑和应用:查看着色器代码更改的影响,而无需重新运行应用程序
通过使用新的着色器,着色器编辑体验也得到了改进 编辑和应用 功能以及 并排视图 着色器的源代码和编译器输出反汇编代码。
单击 管道级 窗户还是窗户 像素历史记录 窗口将打开着色器编辑器。在“并排”视图的左侧,它显示源代码(如果可用),在右侧,它显示由HLSL着色器编译器生成的反汇编代码。您可以在源代码中进行更改,一旦工具检测到输出中的差异,则 应用 顶部的按钮将被启用。点击 应用 若要将更改应用于当前vsglog文件,可以查看更改如何立即影响渲染结果,包括“渲染目标视图”、“管道阶段”和“像素历史记录”窗口。
有几件事要说:
- 这里正在编辑的源代码是原始着色器文件的副本,我们将其保留在临时位置(路径在窗口下方),更改仅应用于vsglog文件,不会影响原始源代码。可以将vsglog文件用作“游乐场”,以尝试不同的着色器效果并查看其影响。通过单击 复位 按钮。如果您对更改感到满意,并且希望将更改移动到原始源,那么可以使用 复制到… 按钮,您可以在其中指定要将这些更改复制到的源文件的位置。
- 在着色器调试期间,可以对着色器代码进行更改,但 应用 按钮只有在调试停止后才会启用。
在“工具”->“选项”->“图形诊断”中配置捕获选项
我们现在公开了一些捕获选项,您可以通过打开 工具 -> 选项 -> 图形诊断 翻页 与 . 请注意,它不在vsgaide中,它只是为分析而设计的。 J 您现在可以决定是否收集调用堆栈,是否禁用HUD,或者是否在兼容模式下捕获。
用于捕获和回放帧的命令行工具
我们听到您的反馈,有时您需要在没有安装VS的机器上捕获帧。我们现在提供了一个用于捕获和回放的命令行工具( dxcap.exe文件 )作为Windows SDK的一部分。从Windows SDK开始 与VS一起提供,如果你安装VS,你已经拥有了它。 您可以使用此工具从桌面应用、商店应用和手机应用捕获帧。
安装VS 2013 Update 3 RC后( 下载 )或独立的Windows SDK( 下载 ). 你可以找到 dxcap.exe文件 在里面 C:Windows系统32 和 C:WindowsSysWOW64系统 . 只需传入 -c级 以及要捕获和 –第 播放最近捕获的日志。
举个简单的例子:
捕捉帧 100 从桌面应用程序: dxcap.exe–第100帧-c“c:TestProjectsMyApp.exe”
要播放: dxcap.exe-p文件
可以使用更多选项,例如指定要捕获的帧、是否在兼容模式下捕获,或者使用什么作为输出文件名。您可以在DXCap的帮助信息(DXCap/?)或MSDN文档中找到详细信息 命令行捕获工具 .
摘要
一如既往,我们期待着听到你的想法。下载Visual Studio 2013 Update 3 RC( 下载 ),试用一下,然后告诉我们。 J