FX Composer 2.5 Usability & Productivity

7
Siggraph 2008 9/12/2008 9:16 AM ©2008 NVIDIA Corporation 1 A New Generation of Performance Analysis and Shader Authoring Tools Chris Maughan & Jeffrey Kiel Agenda FX Composer 2.5 Shader Debugger Performance Tools © NVIDIA Corporation 2008 FX Composer 2.5 Increase productivity Refine usability Improve stability Improve performance © NVIDIA Corporation 2008 Enable Direct3D10 First host for the NVIDIA Shader Debugger Usability & Productivity Start Page Effect Wizard Toolbar Large icons B tt © NVIDIA Corporation 2008 Better menus Graphics API Toggle Usability & Productivity Automatic light binding Bind to nearest light SAS driven Code Snippets Commonly used code © NVIDIA Corporation 2008 Commonly used code User-extensible Examples Textures and samples Techniques and passes Render state blocks New Sample Projects Visual Styles 350Z Atmospheric Scattering © NVIDIA Corporation 2008 Simple Shadows PostProcessing Materials PCSS Soft Shadows DirectX 10 Ninja

Transcript of FX Composer 2.5 Usability & Productivity

Page 1: FX Composer 2.5 Usability & Productivity

Siggraph 2008 9/12/2008 9:16 AM

©2008 NVIDIA Corporation 1

A New Generation of Performance Analysis and Shader Authoring Tools

Chris Maughan & Jeffrey Kiel

Agenda

FX Composer 2.5Shader DebuggerPerformance Tools

© NVIDIA Corporation 2008

FX Composer 2.5

Increase productivityRefine usabilityImprove stability Improve performance

© NVIDIA Corporation 2008

Enable Direct3D10First host for the NVIDIA Shader Debugger

Usability & Productivity

Start PageEffect WizardToolbar

Large iconsB tt

© NVIDIA Corporation 2008

Better menusGraphics API Toggle

Usability & Productivity

Automatic light bindingBind to nearest lightSAS driven

Code SnippetsCommonly used code

© NVIDIA Corporation 2008

Commonly used codeUser-extensibleExamples

Textures and samplesTechniques and passesRender state blocks

New Sample Projects

Visual Styles350Z Atmospheric Scattering

© NVIDIA Corporation 2008 Simple ShadowsPost‐Processing

MaterialsPCSS Soft ShadowsDirectX 10

Ninja

Page 2: FX Composer 2.5 Usability & Productivity

Siggraph 2008 9/12/2008 9:16 AM

©2008 NVIDIA Corporation 2

Models & StylesModels are complete files -DAE, FBX, etc.Styles are collections of material for a modelUpdate your model without fear of losing styles

© NVIDIA Corporation 2008

g yUse models many times

In a sceneWith different styles

DirectX 10

Geometry shadersTexture arraysStream out

© NVIDIA Corporation 2008

Picture includesExplosion(GS)Particles(GS,SO)Pipes(GS,TA,SO)

Simple Particle Systems

Simple emitters for designing effectsNot for complex simulation

Predefined templates to startFireSmoke

© NVIDIA Corporation 2008

SmokeFireworksWater fountain

Customizable parameters

ShaderPerf 2.0

GeForce 8 Series support

Vertex and pixel shader analysis 

Many supported shader formats

© NVIDIA Corporation 2008

Many supported shader formats

Compare different techniques

See shader throughput, register usage, instruction counts, and branching performance

mental mill™ Artist Edition

Enables artists to quickly and easily develop and prototype new looks within a fast, flexible GUI.

© NVIDIA Corporation 2008

NVIDIA Shader Debugger

Broad Language SupportHLSL10/9CgFXCOLLADA FX Cg 

Step through shader 

© NVIDIA Corporation 2008

p gsource code

Visualize variables across your geometry

Plug‐in for FX Composer 2.5

Page 3: FX Composer 2.5 Usability & Productivity

Siggraph 2008 9/12/2008 9:16 AM

©2008 NVIDIA Corporation 3

Run ControlFull control of shader execution

Next/Previous StatementRun to CursorRun to Bookmark

© NVIDIA Corporation 2008

More Shader Debugger Features

Conditionally Kill Fragments

© NVIDIA Corporation 2008

Visualize Any Variable

Create Custom Output Mappings

More Shader Debugger Features

Debug multi‐pass/full scene effects.

© NVIDIA Corporation 2008

Map any variable to any channel.

Pick any technique in your shader to debug.

demo

© NVIDIA Corporation 2008

Performance Tools UpdateShaderPerf 2.0PhysXPerfKit

PerfSDKgDEBuggerSneak peek at PerfHUD 6 5!

© NVIDIA Corporation 2008

Sneak peek at PerfHUD 6.5!

ShaderPerf 2.0

Shader AnalysisCg, GLSL, HLSLAll NVIDIA GPUs since FX SeriesMultiple driver versions

© NVIDIA Corporation 2008

Multiple use casesFX Composer IDE integrationCommand line

Script based testingIntegrate into source control for regression testing

ShaderPerfAPI: Dream up new uses!

Page 4: FX Composer 2.5 Usability & Productivity

Siggraph 2008 9/12/2008 9:16 AM

©2008 NVIDIA Corporation 4

PhysX SDK: Enhancing Realism

Free binary version for Windows and LinuxLicensed source code version for

© NVIDIA Corporation 2008

code version for Windows and Xbox

http://developer.nvidia.com/object/physx.html

PhysX ToolsPhysX Event Viewer

Graph physics engine eventsAnalyze usage and utilizationGeneral CPU usage and user events

© NVIDIA Corporation 2008

PhysX HUDReal time PhysX DataIn application context

PerfKit Features

OpenGL and Direct3D, Windows and LinuxGPU & Driver counter data

Supports QuadroFX, GeForce 8, 9, and 200 seriesGPU tili ti d t i

© NVIDIA Corporation 2008

GPU utilization data, variousprimitive counts, etc.Driver CPU usage, stalls, counts

PerfKit Features

Simplified Experiments: GPU Bottleneck and utilizationPerfAPI: counters and experiments integrated into your applicationGLExpert

© NVIDIA Corporation 2008

GLExpertDebug runtime for OpenGLDriver performance gotchas, software fallbacks

NVIDIA Plug-in for Microsoft PIX for Windows

ADD SMALL PIC OF BOTTLNECK GRAPH

Graphic Remedy’s gDEBugger

OpenGL and OpenGL ES Debugger and Profiler

© NVIDIA Corporation 2008

p p ggNVIDIA PerfKit and GLExpert integratedShorten development timeImprove application qualityOptimize performanceFind redundant function callsSupports Windows & LinuxDiscounted academic licenses available

http://www.gremedy.com

Graphic Remedy’s gDEBugger

© NVIDIA Corporation 2008

Page 5: FX Composer 2.5 Usability & Productivity

Siggraph 2008 9/12/2008 9:16 AM

©2008 NVIDIA Corporation 5

Introducing PerfHUD 6.5Save and load captures!

Capture the moment rendering or performance issues happenRemote collaboration on debugging and tuning tasksEase bug reproduction and

© NVIDIA Corporation 2008

Ease bug reproduction and communication

Unified Driver on Windows VistaSLI Support: Specialized graphs and feedback

Introducing PerfHUD 6.5Powerful debugging features

Texture visualization modesAPI call data mining, analysis, and bug checkingShader visualization

Improved usability:

© NVIDIA Corporation 2008

More hot keysMultiple graph configsDirect3D PerfMarkers

Bug Fixes: input module rewrite, improved stability

PerfHUD 6.5: Performance Dashboard

Graph GPU and driver dataEdit to suit your needs

© NVIDIA Corporation 2008

Edit to suit your needsSLI Graph for multi-GPUAPI usage statistics

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

PerfHUD: Frame Debugger

Scrub through sceneVisualize draw call info

© NVIDIA Corporation 2008

Textures and RTsTooltips on buffers

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

PerfHUD: Frame Debugger

Texture analysis: substitute precomputed texturesControllable through

Perf Markers

© NVIDIA Corporation 2008

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

PerfHUD: Frame DebuggerBuffer Visualization

Visualize any buffer full screen2D/3D/Cube/Arrays

© NVIDIA Corporation 2008

2D/3D/Cube/ArraysPan/ZoomChange mipmap level

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

Page 6: FX Composer 2.5 Usability & Productivity

Siggraph 2008 9/12/2008 9:16 AM

©2008 NVIDIA Corporation 6

PerfHUD: Frame DebuggerAPI Call List

Based on a frame captureSee frame events,

including parametersTooltips for detailsC t d t bb

© NVIDIA Corporation 2008

Connected to scrubber

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

PerfHUD: Frame DebuggerDraw Call Dependencies

Show producers&consumersdependencies for each call

© NVIDIA Corporation 2008

callThese can hurt single

GPU and SLI performance

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

PerfHUD: Adv Frame DebuggerVertex Assembly

Geometry previewVertex and index buffer

setup

© NVIDIA Corporation 2008

p

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

PerfHUD: Adv Frame DebuggerVertex, Geometry and Pixel Shaders

Edit & continue shadersVisualize input texturesConstantsSampler overrides

© NVIDIA Corporation 2008

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

PerfHUD: Adv Frame Debugger

Display and modify all render state settingsRender targets

displayed

© NVIDIA Corporation 2008

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

PerfHUD: Frame ProfilerOne button bottleneck determination

All draw calls profiledDraw calls grouped by

state buckets: multiply performance optimizations

© NVIDIA Corporation 2008

Multiple result graphs

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

Page 7: FX Composer 2.5 Usability & Productivity

Siggraph 2008 9/12/2008 9:16 AM

©2008 NVIDIA Corporation 7

PerfHUD: Adv Frame Profiler

Same advanced features now in the profiling context

© NVIDIA Corporation 2008

Crysis used with permission from Crytek. © Crytek GmbH. All Rights Reserved. Crysis and CryENGINE are trademarks or registered trademarks of Crytek GmbH in the U.S and/or other countries.

Questions ?

Downloadshttp://www.fxcomposer.comhttp://www.perfhud.comhttp://developer.nvidia.com/object/physx.html

Forums

© NVIDIA Corporation 2008

Forumshttp://developer.nvidia.com/forums

[email protected]@nvidia.com

PerfKit 6

The NVIDIA Developer ToolkitThe NVIDIA Developer Toolkit

GPU Programming GuidePerfHUD 6

Conference Presentations

PerfSDK

SDK 10FX Composer 2.5

Texture Tools 2

Cg Toolkit

NVSG

Content CreationContent Creation Software Software DevelopmentDevelopment PerformancePerformance DocumentationDocumentation

Videos

mental mill Artist Edition

© NVIDIA Corporation 2008

ShaderPerf 2

GLExpert

gDEBugger

NV PIX Plug-inMelody

Texture Tools 2 NVSG Videos

Books