12.07.2015 Views

实用性能分析 - NVIDIA Developer Zone

实用性能分析 - NVIDIA Developer Zone

实用性能分析 - NVIDIA Developer Zone

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

NVPerfHUD — 截 屏 图NVPerfHUD - Screenshot©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


纹 理 工 具 与 插 件Photoshop 插 件 :DXT 压 缩 (.dds)法 线 贴 图 创 建3D 预 览 与 差 异MIP 贴 图 生 成命 令 行 与 .libDDS 缩 略 图 查 看 程 序纹 理 图 集 查 看 程 序与 创 建 工 具©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


音 调在 高 解 析 度 网 格 上 操 作(~1.6 万 多 边 形 )使 用 高 级 的 “ 十 去 一 ” 渐 进 网 格 处 理 方 式 ,生 成 LOD网 格 优 化 与 简 化基 于 图 表 的 UV 参 数 化Raycast 法 线 贴 图 生 成©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


FX Composer - Screenshot©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.FX 编 辑 器 — 截 屏 图


编 辑 与 纠 错编 辑 多 个 .FX 文 件智 能 感 知 ( 自 动 完成 )语 法 凸 显“ 跳 至 错 误 ” 使 您 能 够 快 速地 找 到 和 修 复 错 误©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


预 览 与 自 定 义便 于 编 辑 着 色 器 参 数自 动 解 析 语 义 与 注 释快 速 选 择 自 定 义 颜 色 值使 用 可 撕 开 的 对 话 框(tear-off dialogs)更 新 矢 量 和 矩 阵 值浏 览 以 选 择 场 景 元 素 , 并 在 场 景 图 表面 板 里 编 辑 属 性©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


<strong>NVIDIA</strong> FX 编 辑 器场 景 面 板实 时 预 览 3D 场 景将 材 料 应 用 到 场 景 元 素 中操 作 场 景 元 素 或 整 个 场 景使 用 基 本 要 素 或 导 入 .x 模 型 和 .nvb 场 景设 定 您 自 己 的 关 键 帧 或 播 放 现 有 的 动 画设 定 光 源 , 自 定 义 光 照 属 性选 择 用 户 定 义 的 镜 头 或 默 认 场 景 镜 头©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


基 本 原 理管 线 架 构瓶 颈 辨 识 和 消 除平 衡 管 线©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


管 线 架 构CPU几 何 存 储几 何 处 理 器光 栅 化 程序碎 化 处 理 器帧 缓 存纹 理 存 储 +过 滤顶 点像 素©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


糟 糕 的 瓶 颈CPU几 何 存 储几 何 处 理 器光 栅 化 程序碎 化 处 理 器帧 缓 存纹 理 存 储 +过 滤©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识有 两 个 方 法 可 以 辨 识 瓶 颈修 改 该 阶 段排 除 其 他 阶 段©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识修 改 该 阶 段通 过 降 低 其 工 作 负 荷FPSFPS如 果 性 能 显 著 改 善 , 那 么 很 明 显 , 该 阶 段 就 是 瓶 颈注 意 不 要 改 变 其 他 阶 段 的 工 作 负 荷 !©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识排 除 其 他 阶 段大 大 降 低 其 他 阶 段 的 工 作 负 荷 , 或 让 它 们 停 止 工 作FPSFPS如 果 性 能 并 未 显 著 改 变 , 那 么 很 明 显 ,该 阶 段 就 是 瓶 颈注 意 不 要 改 变 这 个 阶 段 的 工 作 负 荷 !©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识大 多 数 情 况 下 , 任 何 阶 段 发 生 改 变 都 会 影 响 到 其他 阶 段很 难 确 定 究 竟 应 该 进 行 哪 项 测 试让 我 们 探 讨 一 下 部 分 测 试 项 目©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 :CPU有 问 题 ?有 可 能 是 游 戏 的 问 题复 杂 的 动 作 、 人 工 智 能 、 游 戏 逻 辑 等内 存 管 理数 据 结 构可 能 是 因 为 API 不 正 确 的 使 用检 查 纠 错 运 行 时 间 输 出 , 查 找 错 误 和 警 告可 能 是 显 示 器 驱 动 程 序 出 问 题太 多 批 处 理 命 令©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 :CPU降 低 CPU 的 工 作 负 荷暂 时 关 闭游 戏 逻 辑人 工 智 能动 作任 何 不 改 变 渲 染 工 作 负 荷 而 又 占 用 大 量 CPU 资 源 的 东西©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 :CPU排 除 其 他 阶 段关 闭 DrawPrimitive( 绘 制 基 本 要 素 ) 调 用 指 令正 常 设 置 所 有 东 西 , 但 是 当 要 进 行 渲 染 时 , 不 要 使 用DrawPrimitive* 调 用 指 令问 题 : 当 发 出 “ 绘 制 基 本 要 素 ” 调 用 指 令 之 后 , 您 不 知道 运 行 时 间 或 驱 动 程 序 上 发 生 了 什 么 样 的 动 作使 用 VTUNE 或 NVPerfHUD©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 : 顶 点问 题 ?将 顶 点 和 索 引 转 移 到 卡 上将 顶 点 和 索 引 转 变 为 三 角顶 点 高 速 缓 存 丢 失使 用 占 用 大 量 资 源 的 顶 点 着 色 器©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 的 辨 识 : 顶 点降 低 顶 点 消 耗使 用 更 简 单 的 顶 点 着 色 器发 送 更 少 的 三 角 ??不 好降 低 AGP 孔 径 ??可 能 不 好使 用 NVPerfHUD 来 检 查 视 频 内 存如 果 内 存 已 满 , 可 能 有 AGP 纹 理©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 : 顶 点排 除 其 他 阶 段渲 染 到 更 小 的 后 台 缓 存 ; 这 样 可 以 排 除纹 理 、 帧 缓 存 、 像 素 着 色 器测 试 CPU 瓶 颈也 能 够 渲 染 到 更 小 的 视 窗 而 不 是 更 小 的 后 台 缓存 。 仍 然 排 除纹 理 、 帧 缓 存 、 像 素 着 色 器©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 : 纹 理降 低 纹 理 带 宽使 用 小 型 (2x2) 纹 理很 好 , 但 是 如 果 您 对 纹 理 alpha 使 用 alpha 测 试 , 那么 电 脑 可 能 运 行 得 更 加 缓 慢 , 因 为 填 充 量 增 大 了 。 不过 这 仍 然 是 个 很 好 的 测 试 。如 果 还 没 有 准 备 好 , 那 么 使 用 mip 贴 图如 果 各 向 异 性 过 滤 功 能 已 打 开 , 那 么 关 闭 它©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 : 纹 理排 除 其 他 阶 段因 为 纹 理 很 容 易 直 接 测 试 , 我 们 建 议 您 依 靠 这个 手 段©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 : 片 段有 问 题 ?占 用 大 量 资 源 的 像 素 着 色 器渲 染 超 过 需 要 量 的 片 段高 深 度 复 杂 性不 佳 的 z-cull©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 : 片 段改 变 该 阶 段输 出 一 个 实 心 颜 色好 : 没 有 在 每 个 片 段 上 工 作但 也 影 响 纹 理 , 所 以 您 必 须 排 除 纹 理使 用 更 简 单 的 数 学 运 算好 : 每 个 片 段 做 更 少 的 工 作但 要 确 保 运 算 时 索 引 纹 理 的 方 式 不 变 , 否 则 , 您 将 需要 同 时 改 变 纹 理 阶 段©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 :FB有 问 题 ?以 超 出 需 要 的 次 数 操 作 缓 存多 流 程太 多 alpha 混 合利 用 了 太 大 的 缓 存在 不 需 要 的 时 候 应 用 了 模 版很 多 时 候 , 动 态 反 射 立 体 贴 图 可 以 使 用 r5g6b5 色 彩 ,而 不 是 x8r8g8b8 色 彩©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


瓶 颈 辨 识 :FB改 变 该 阶 段使 用 16 位 深 度 缓 存 , 而 不 是 24 位 的使 用 16 位 色 彩 缓 存 , 而 不 是 32 位 的©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.实 际 操 作


实 际 操 作 : 例 1©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 1动 态 顶 点 缓 存不 佳 的 创 建 旗 标HRESULT hr = pd3dDevice->CreateVertexBuffer(6* sizeof( PARTICLE_VERT ),0, //declares this as staticPARTICLE_VERT::FVF,D3DPOOL_DEFAULT,&m_pVB,NULL );©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 1动 态 顶 点 缓 存良 好 的 创 建 旗 标HRESULT hr = pd3dDevice->CreateVertexBuffer(6* sizeof( PARTICLE_VERT ),D3DUSAGE_DYNAMIC |D3DUSAGE_WRITEONLY,PARTICLE_VERT::FVF,D3DPOOL_DEFAULT,&m_pVB,NULL );©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 1动 态 顶 点 缓 存不 佳 的 锁 定 旗 标m_pVB->Lock(0, 0,(void**)&quadTris, 0);完 全 没 有 旗 标 !?这 可 不 怎 么 好 ……©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 1动 态 顶 点 缓 存良 好 的 锁 定 旗 标m_pVB->Lock(0, 0,(void**)&quadTris,D3DLOCK_NOSYSLOCK | D3DLOCK_DISCARD);首 次 锁 定 每 帧 顶 点 缓 存 时 , 使 用D3DLOCK_DISCARD当 缓 存 充 满 之 后 再 次 使 用否 则 , 请 只 使 用 NOSYSLOCK©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 2©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 2纹 理 带 宽 占 用 过 多使 用 mip 贴 图可 能 的 话 , 请 使 用 dxt1有 些 显 卡 可 以 在 高 速 缓 存 中 储 存 压 缩 数 据在 不 影 响 效 果 的 情 况 下 , 使 用 更 细 的 纹 理草 叶 是 否 真 的 需 要 1024x1024 的 纹 理 ?-- 也 许©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 3©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 3占 用 大 量 资 源 的 像 素 着 色 器可 以 表 现 大 型 特 效仅 3 个 顶 点 , 但 可 能 是 上 百 万 个 像 素只 能 使 用 1024x1024就 看 像 素 !!©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 336 个 循 环 不 好©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 311 个 循 环 不 好©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 3改 变 了 什 么 ?将 三 角 上 的 常 量 运 算 移 动 到 顶 点 着 色 器 内使 用 “ 半 ” 而 不 是 “ 浮 ”在 不 需 要 的 时 候 , 不 使 用 “ 规 范 化 ”参 见 “ 规 范 化 的 启 发 ”http://developer.nvidia.com©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 4©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 4太 多 批 处 理 命 令每 四 边 形 作 为 其 自 身 批 进 行 发 送相 反 , 将 所 有 四 边 形 作 为 一 个 大 VB, 利用 一 个 调 用 命 令 发 送©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


实 际 操 作 : 例 4如 果 它 们 使 用 不 同 的 纹 理 会 怎 样 ?使 用 纹 理 图 集将 两 个 纹 理 放 在 一 个 纹 理 内 , 使 用 一 个 顶点 着 色 器 和 一 个 像 素 着 色 器 来 弥 补 纹 理 坐标©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


平 衡 管 线更 多 地 使 用 未 受 瓶 颈 限 制 的 阶 段 , 以 此 来 平衡 管 线注 意 不 要 过 多 地 使 用 这 些 阶 段FPSFPS©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


总 结<strong>NVIDIA</strong> 提 供 多 种 性 能 分 析 工 具管 线 架 构 受 瓶 颈 制 约利 用 快 速 测 试 来 辨 识 瓶 颈利 用 NVPerfHUD 来 分 析 管 线利 用 FX 编 辑 器 来 帮 助 优 化 着 色 器©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


如 需 更 多 信 息 ……请 下 载 演 示 文 稿 、 软 件 开 发 工 具 包 (SDK) 和 工具 等 , 网 址 :http://developer.nvidia.com关 于 工 具 和 软 件 开 发 工 具 包 (SDK) 的 问 题 、 要求 及 评 论 等 , 请 电 邮 :sdkfeedback@nvidia.com了 解 本 演 示 文 稿 的 详 情 , 请 电 邮 :kashida@nvidia.com©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


developer.nvidia.com图 形 芯 片 编 程 之 源最 新 文 件软 件 开 发 工 具 包 (SDK)前 沿 工 具 tools性 能 分 析 工 具内 容 创 建 工 具数 百 个 特 效视 频 演 示 文 稿 与 指 南库 与 基 本 工 具新 闻 和 新 闻 通 讯 档 案 库EverQuest® content courtesy Sony Online Entertainment Inc.©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


<strong>NVIDIA</strong> SDK实 时 编 程 开 发 人 员 的 资 源 库数 百 个 源 代 码 样 例 与 特 效 ,可 以 帮 助 您 充 分 利 用 图 形 科 技 领 域 的 最 新 成 果无 数 最 新 的 DirectX 和 OpenGL 代 码 样 例 , 完 整 的 源 代码 , 大 量 的 帮 助 内 容 :几 何 实 例 引 用 、 彩 虹 、 雾 虹 、Blood 着 色 器 、 透 视 阴 影 贴 图 、纹 理 图 集 工 具 ……数 百 个 特 效 , 带 自 定 义 几 何 图 形 、 动 画 和 更 多 内 容 :皮 肤 、 塑 胶 、 火 焰 / 火 苗 、 闪 光 、Gooch、图 像 过 滤 器 、HLSL 纠 错 技 巧 、 纹 理 BRDF、 纹 理 位 移 ,色 调 映 射 , 甚 至 还 带 有 简 单 的 光 线 追 踪 器 !©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


《 图 形 芯 片 精 华 》:: 编 程 技 术 、 提 示 、 以 及处 理 实 时 图 形 的 技 巧来 自 顶 级 公 司 和 大 学 专 家 的 实 用 的 实 时 图 形 处理 技 巧物 超 所 值 :来 自 业 内 专 家 的 技 术全 彩 色 (300 多 个 图 表 和 截 屏 图 )硬 封 面816 页查 询 更 多 详 情 , 请 浏 览 :http://developer.nvidia.com/GPUGems“《 图 形 芯 片 精 华 》 汇 集 了 各 种 高 级 图 形 处 理 技 巧 。 编 程 新 手和 图 形 专 家 均 能 从 中 受 益 匪 浅 。”Tim Sweeney史 诗 (Epic) 游 戏 公 司 虚 幻 (Unreal) 游 戏 的 主 要 编 程 人 员“ 本 书 收 集 了 很 多 文 章 , 其 内 容 在 广 度 和 深度 上 都 有 较 大 突 破 。 书 中 既 有 面 向 产 品 的 案例 研 究 , 也 有 先 前 未 公 开 过 的 前 沿 研 究 成 果和 详 实 的 指 南 等 。 另 外 , 本 书 中 还 有 大 量 的源 代 码 样 例 和 演 示 (demos) 等 ”Eric Haines《 实 时 渲 染 》 的 作 者©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.


Cg 工 具 包<strong>NVIDIA</strong> Cg 编 译 器顶 点 (DirectX 9, OpenGL 1.4)像 素 (DirectX 9)Cg 标 准 库DirectX 和 OpenGL 的 Cg 运行 时 间 库<strong>NVIDIA</strong> Cg 浏 览 器Cg 语 言 说 明Cg 用 户 手 册Cg 着 色 器( 预 先 编 写 好 的 分 类 程 序 )The Cg 指 南(developer.nvidia.com/CgTutorial)©2004 <strong>NVIDIA</strong> Corporation. All rights reserved.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!