questions · •sneak peek of darkspore •live demo of gpa •q & a. ... from gpa monitor 10...
TRANSCRIPT
http://software.intel.com/en-us/articles/Game-Developers-Conference-Europe-2011/
“MAXIS-mizing” Darkspore game performance with Intel® GPA!
Philipp Gerasimov, Intel
Agenda
• Quick Intro to GPA 4.1
• Sneak Peek of Darkspore
• Live demo of GPA
• Q & A
Intel Graphics Performance Analyzers 4.1
4
Intel GPA helps you analyze and tune your game for performance
View system wide picture of CPU and GPU workload.
5
System Analyzer HUD
Frame Analyzer
Platform Analyzer
In-game analysis using state overrides and real-time metrics graphs
Deep frame analysis down to the draw call level, incl. shaders, textures, D3D states, pixel history
Best price:
0.00 Euro
Where to get Intel GPA?
6
www.intel.com/software/gpa
Here‟s how to use Intel GPA 4.x
7
Target Game with HUD
If CPU bound, use Platform Analyzer or other CPU profiling
tools like VTune
If GPU bound, use Frame Analyzer
DirectX 9, 10/10.1, 11
WinXP/Vista/Win7 32/64bit
New features in Intel GPA 4.1
• Improved workflow with global profiles
• Enable / Disable overrides with same hot-key
8
Just released
HUD / Monitor
Frame Analyzer
• CPU context switches visualization• Per-thread processor affinity tracks• Large trace files support (up to 2Gb)
Platform Analyzer
• Depth Buffer visualization
System Analyzer HUD
9
System Analyzer HUD
• Frames per second
• DirectX* version
• Resolution
• HUD mode
• 4 metrics graphs configurable from GPA Monitor
10
Major performance information
Configure HUD from the GPA Monitor
• Hot keys & GPU, CPU, DirectX metrics shown on HUD are fully configurable.
• Create multiple profiles and easy switch between them.
11
Settings
Profiles
Capture “Interesting” Frames
• Select metric
• Decide the condition based on the selected metric
• Select type of capture: frame, trace, or both
• Choose what to do with the application after the capture
12
Triggers
HUD State Overrides
• Use state overrides to find high-level bottlenecks
• Example: Disable Draw Calls
– CPU or GPU bound
• Example: 1x1 Scissor Rect
– Helpful to determine if your game is pixel shader bound
13
„What if?‟ experiments
Darkspore and GPA Demo
14
15
Darkspore (Marketing Pitch)
• Online Action RPG
• Play a Squad of 3 Heroes
• Spore Editor
• 100 Heroes to Unlock
• 4 player Co-op
• 2v2 PVP
16
Improved Gaming Experience on Mainstream Graphics with SandyBridge
• 1280 x 720
• 30 FPS
• Medium settings
17
Darkspore Rendering
Deferred Pass First Target
• Normal (RGB) + Gloss (A)
18
Deferred Pass ( First Render Target )
Darkspore Rendering
• Deferred Pass Second Target
• Depth (R*256+G) + SpecPow (B) + ToonId (A)
19
Deferred Pass ( Second Render Target )
Darkspore Rendering
• Lighting pass
• Diffuse (RGB) + Specular (A)
20
Lighting Pass
Darkspore Rendering
• Final Pass
• Color + Glow + Post FX + Particles + UI =
21
Final Pass
Darkspore Rendering (Final Frame)
22
Darkspore and GPA
Analyzing performance without GPA
23
Analyzing Darkspore with GPA
24
Enable HUD
• Launch with full path
• Launch from recent applications list
• Enable with Auto-detect feature
Analyzing Darkspore with GPA
Start
25
Capture the frame
• Capture an interesting frame with hotkey
(Ctlr+Shift+C by default)
• Launch Frame Analyzer and open captured frame
Analyzing Darkspore with GPA
26
Blood Decals in the Deferred and Final pass
• Tall bars are draw calls taking the most time
• Wide bars spend more time in the pixel shader
• In Darkspore we saw a lot of big bars…
Analyze the frame
Analyzing Darkspore with GPA
27
Look at the shader
Analyzing Darkspore with GPA
GPA shows a 30%
and 24% improvement
28
More shader optimizations
Analyzing Darkspore with GPA
Finished?
29
The frame after shader simplification
Nope
Analyzing Darkspore with GPA
Blood decals are volumes that write more pixels
30
View Blood Decals in Wireframe Mode
Analyzing Darkspore with GPA
Use the stencil to kill pixels in the final pass
31
Optimization idea
Analyzing Darkspore and GPA
32
Changing DX States within GPA
Analyzing Darkspore with GPA
33
Let‟s check the results
Darkspore and GPA
Ok, finished!
34
Maybe...
Other Optimizations for Darkspore
Trees all had roots below the ground!
35
Optimization 1: Remove roots under the ground
Other Optimizations for Darkspore
Terrain mixes 4 textures together per pass, but large sections only really need one
36
Optimization 2: Optimize terrain rendering
Other Optimizations for Darkspore
Creatures were really dense and burning quads
37
Optimization 3: Optimize character geometry
Other Optimizations for Darkspore
View space normalstook only two channels but weren‟t worth the cost.
38
Optimization 4: Use world-space normals
39
GPA 4.1 Platform Analyzer
40
Working with leading middleware providers for complete compatibility
41
42
Instrumenting Code for Platform Analyzer
#include <ittnotify.h>
void System::DoWork( … )
{
__itt_begin_task( “System::DoWork” );
// do work
__itt_end_task();
}
43
44
• Tasks timeline displays instrumented code as it is executed over time
• CPU/GPU Frames and DirectX* calls displayed by default
45
• Per-process CPU affinity graph, showing on which CPU cores the process was running
GPA 4.1New
46
GPA 4.1
• CPU per-core context switches timeline, showing: GPA-instrumented processes for a traced application
GPA-non-instrumented processes for a traced application
Other processes
CPU idle time
New
47
• Overview statistics for the current trace displayed
• Tabs display information for selectedtasks
• Relations, such as dependencies,between tasks shown in hierarchy
• CPU/GPU and DirectX* metrics displayedper selected frame
Pre-instrumented components
• DirectX* interceptor used by Intel® GPA
• Threading Building Blocks
• Scaleform and Havok first two…many more middleware to come pre-instrumented
48
One more time... Where to get Intel GPA?
49
www.intel.com/software/gpa
© 2011, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and other countries. © 2011, Valve Corporation. All rights reserved. Steam and the Steam logo are trademarks or registered trademarks of Valve Corporation in the United States and/or other countries.*Other names and brands may be claimed as the property of others.
With the chance to sell your game on STEAM*
Enter the proving ground for independent game demos
• Enter your game demo to compete for industry recognition, thousands in cash, and the chance to sell your game on STEAM*
• To learn more, visit our stand no. 150 and www.intel.com/software/LevelUp2011
Questions?
54
55
Legal DisclaimersINFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH
PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO SALE AND/OR USE OF INTEL PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT.
Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications.
Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that relate to the presented subject matter. The furnishing of documents and other materials and information does not provide any license, express or implied, by estoppel or otherwise, to any such patents, trademarks, copyrights, or other intellectual property rights.
Intel may make changes to specifications, product descriptions, and plans at any time, without notice.
The Intel processor and/or chipset products referenced in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
All dates provided are subject to change without notice. All dates specified are target dates, are provided for planning purposes only and are subject to change.
Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
* Other names and brands may be claimed as the property of others.
Copyright © 2010, Intel Corporation. All rights reserved.
Optimization NoticeOptimization Notice
Intel® compilers, associated libraries and associated development tools may include or utilize options that optimize for instruction sets that are available in both Intel® and non-Intel microprocessors (for example SIMD instruction sets), but do not optimize equally for non-Intel microprocessors. In addition, certain compiler options for Intel compilers, including some that are not specific to Intel micro-architecture, are reserved for Intel microprocessors. For a detailed description of Intel compiler options, including the instruction sets and specific microprocessors they implicate, please refer to the “Intel® Compiler User and Reference Guides” under “Compiler Options." Many library routines that are part of Intel® compiler products are morehighly optimized for Intel microprocessors than for other microprocessors. While the compilers and libraries in Intel® compiler products offer optimizations for both Intel and Intel-compatible microprocessors, depending on the options you select, your code and other factors, you likely will get extra performance on Intel microprocessors.
Intel® compilers, associated libraries and associated development tools may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include Intel®
Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® SSSE3) instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors.
While Intel believes our compilers and libraries are excellent choices to assist in obtaining the best performance on Intel® and non-Intel microprocessors, Intel recommends that you evaluate other compilers and libraries to determine which best meet your requirements. We hope to win your business by striving to offer the best performance of any compiler or library; pleaselet us know if you find we do not.
Notice revision #20101101
Backup
58