Copyright © 2005 Intel Corporation. All Rights Reserved.
Real-life Case Studies in
Optimizing Games for Intel®
GMA Graphics
Larry Wickstrom
Content: Adam Lake, Cody Northrop
Copyright © 2005 Intel Corporation. All Rights Reserved.
Topics
 Intro to Intel® GMA 950
 Developer highlights from
04/05
 Things to catch before
release
 Contacting Intel
 Call to Action
-2-
Copyright © 2005 Intel Corporation. All Rights Reserved.
Recent Intel Graphics
 Intel Extreme Graphics
–2000: 815G
–2002: 845G
–2003: 865G
 Intel Graphics Media
Accelerator
–2004: 915G  GMA900
–2005: 945G  GMA950
-3-
Copyright © 2005 Intel Corporation. All Rights Reserved.
Intel® GMA 950 vs. Intel® GMA 900
 Improved Graphics Core
–Increased core clock speed –
– 333 MHz vs. 400 MHz (1.6 GP/s)
 Improved Platform
–Support Dual Core CPU
– Up to 2x faster vertex processing
performance
 Improved Graphics Bandwidth
–Faster memory support via DDR2-667
– From 8.5GB/s to 10.6 GB/s
* Other brands and names may be claimed as the property of others
-4-
Copyright © 2005 Intel Corporation. All Rights Reserved.
Intel Confidential
Intel® GMA 900 compared to discrete
entry level solutions
256MB DDR400
System Memory
512MB
DDR400
512MB
DDR2 533
900
700
500
300
512MB DDR400 System Memory
1100
256MB DDR400
3DMark03 Benchmark
1300
512MB DDR2 533 System Memory
1500
100
-100
ATI
9200SE
64MB
Nvidia
5200FX
128MB
Intel
Intel
Intel
GMA 900 GMA 900 GMA 900
 Intel® GMA 900 graphics provides
excellent 3D performance compared
to ATI* 9200SE 64MB AGP card
 Intel GMA 900 graphics provides 3D
performance comparable to Nvidia*
5200FX 128MB AGP card with 256MB
system memory
 Lower potential system cost with
Intel graphics
 Intel GMA 900 graphics performance
scales with memory size and type to
meet various price/performance
targets
Configurations and Disclaimers
•Intel® GMA 900 platform: Shuttle XPC81P, Intel® Pentium® 4 processor 520 (3.0 GHz), Intel® 915G Express Chipset, 2 DDR400 Memory sticks
•ATI 9200SE platform: Shuttle XB61, Intel® Pentium® 4 processor with HT Technology 3.0 GHz, Intel® 865G Express Chipset, 2 DDR400 Memory sticks
** Platform material differences contribute to the results described here – see configuration details below
Source: Intel. Configuration: Intel® 915G Express Chipset Platform – Intel® 915G Express Chipset Board Shuttle SB81, DDR400 CL3-3-3, Integrated Graphics with Intel®
Graphics Media Accelerator 900, Intel® 915G Express Integrated Graphics driver 6.14.10. 3865, Intel ® Chipset Software Installation Utility 6.0.1.1002; Intel® Pentium® 4
Processor with HT Technology 3E GHz, Maxtor* Maxline III 250GB SATA150 Hard Drive – BANC16HO, DirectX* 9.0b, Windows* XP Build 2600 SP2
ATI* 9200SE Platform/Nvidia 5200FX Platform – Intel® 865G Chipset Board, Shuttle SB81, DDR400 CL3-3-3, ATI 9200SE 64MB AGP adapter or Nvidia 5200FX 128MB
AGP card, ATI Catalyst 3.6 driver or Nvidia 6.14.10.6177 driver; Intel® Pentium® 4 Processor with HT Technology 3E GHz, Maxtor* Maxline III 250GB SATA150 Hard Drive –
BANC16HO, DirectX* 9.0b, Windows* XP Build 2600 SP2
Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured by
those tests. Any difference in system hardware or software design or configuration may affect actual performance.
-5-
Copyright © 2005 Intel Corporation. All Rights Reserved.
Intel Graphics
Specification Comparison
Intel® Extreme
Graphics
Intel® GMA 900
Intel® GMA 950*
Intel® 865G Chipset
Intel® 915G Express
Chipset
Intel® 945G Express Chipset
DirectX* 7.1
DirectX 9
Vertex Shader 3.0
Pixel Shader 2.0
DirectX 9
Vertex Shader 3.0
Pixel Shader 2.0
1.3
1.4
1.4 with vertex buffer and
EXT_Shadow extensions
Pixel Rate
266 MP/s
1.3 GP/s
1.6 GP/s
Core Clock
300 MHz
333 MHz
400 MHz
Pixel Pipes
1
4
4
Single
(dual clone only)
Dual Independent
Dual Independent
Max Dynamic Video
Memory
96MB
224MB1
224MB1
Max Fixed Video Memory
16MB
128MB1
128MB1
Max Memory Bandwidth
6.4 GB/s
8.5 GB/s
10.6 GB/s
QXGA 60Hz
(2048x1536)
QXGA 75Hz
(2048x1536)
QXGA 75Hz
(2048x1536)
Platform
DirectX* Hardware
OpenGL* Version Support
Display Support
(through SDVO devices)
Max Resolution
*Features subject to change prior to product release
1
128MB fixed and 224MB dynamic of video memory only on systems with at least 512MB of system memory
-6-
Copyright © 2005 Intel Corporation. All Rights Reserved.
Next Generation of Graphics Performance
Performance normalized to Intel®
915G Express Chipset
Intel® 945G Express Chipset
1.2
21%
20%
1.4
1.00
1.00
1
0.8
0.6
0.4
0.2
 3DMark03* performance
increases by 20%
 PCMark*04 Graphics
performance increases 21%
 Intel® 915G Express chipset
vs. upcoming Intel® 945G
Express Chipset
0
3DMark03* Overall
Test
PCMark04*
Graphics Test
Intel® 945G Express Chipset brings outstanding
graphics performance to the desktop PC*
Configurations and Disclaimers
* As measured by the benchmarks shown
Source: Intel. Configuration: Intel® Pentium® 4 processor 550 with HT Technology on Intel® 915G Chipset Platform – Intel® D915GUX Desktop Board, 1GB DDR2-533 at
CL4-4-4-12, Integrated graphics with Intel® GMA 900, Intel Graphics Media Accelerator Driver v6.14.10. 3961, DVMT set to 128MB, Seagate* 160GB ST3160023AS Serial
ATA Hard Drive, Intel® Chipset Software Installation Utility 7.0.0.1006; Intel® 945G Chipset Platform – pre-production 945G chipset reference design , 1GB DDR2-533 at
CL4-4-4-12, Integrated graphics with Intel® GMA 950, Intel Graphics Media Accelerator Driver v6.14.10. 3961, DVMT set to 128MB, Seagate* 160GB ST3160023AS Serial
ATA Hard Drive, Intel® Chipset Software Installation Utility 7.0.0.1006 All Platforms – DirectX* 9.0c, Windows* XP Build 2600 SP2. Performance tests and ratings are
measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured by those tests. Any difference in
-7system hardware or software design or configuration may affect actual performance.
Copyright © 2005 Intel Corporation. All Rights Reserved.
Intel GMA 950 Advances Integrated 3D Performance
3DMark05*
Performance normalized to Intel®
915G Express Chipset
3DMark05*
2.01
2
2X
1.5
 3DMark05*
– Full DirectX* 9 support vertex and
pixel processing shader models
– Implements a new rendering engine
1.00
 GMA 950 graphics provides better 3D
responsiveness as measured by 3DMark05*
1
– Faster Pixel/Texel Rates and Pixel
Shader throughput
– Faster memory support & FSB
0.5
0
Intel® 915G
Express Chipset
Intel® 945G
Express Chipset
All performance data taken on Intel® Pentium® 4 processor 550 supporting HT
Technology
Intel® 945G Express Chipset provides satisfying visual
quality and responsive 3D performance
Configurations and Disclaimers
Source: Intel. Configuration: Intel® Pentium® 4 processor 550 with HT Technology on Intel® 915G Chipset Platform – Intel® D915GUX Desktop Board, 1GB DDR2-533 at
CL4-4-4-12, Integrated graphics with Intel® GMA 900, Intel Graphics Media Accelerator Driver v6.14.10. 3961, DVMT set to 128MB, Seagate* 160GB ST3160023AS Serial
ATA Hard Drive, Intel® Chipset Software Installation Utility 7.0.0.1006; Intel® 945G Chipset Platform – pre-production 945G chipset reference design , 1GB DDR2-533 at
CL4-4-4-12, Integrated graphics with Intel® GMA 950, Intel Graphics Media Accelerator Driver v6.14.10. 3961, DVMT set to 128MB, Seagate* 160GB ST3160023AS Serial
ATA Hard Drive, Intel® Chipset Software Installation Utility 7.0.0.1006 All Platforms – DirectX* 9.0c, Windows* XP Build 2600 SP2. Performance tests and ratings are
measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured by those tests. Any difference in
-8system hardware or software design or configuration may affect actual performance.
Copyright © 2005 Intel Corporation. All Rights Reserved.
Did you know?
Graphics Processors Shipped
64.1 Million Units Shipped in Q2 2005
Intel (43.7%)
ATI (26.8%)
NVIDIA (15.9%)
VIA Technologies (8.1%)
Silicon Integrated
Systems (SiS) (5%)
John Peddie
Research
Matrox Graphics (.3%)
XGI (.2%)
“For the past two years the market has been defined by the growth of integrated chip sets,
which in 2004 became the majority graphics solution in both desktop and portable
systems...with Intel estimated to have captured 70% of the segment.”
Source: Mercury Research
“PC Graphics 2005 4Q2004”
Intel major supplier of desktop graphics
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
-9-
Copyright © 2005 Intel Corporation. All Rights Reserved.
04/05 Developer Case
Studies
- 10 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Relic - Warhammer 40000: Dawn of
War*
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 11 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Relic - Warhammer 40000: Dawn of
War*
 Visual problem occurred between
last beta drop and release
 Only seen when rotated camera
could see into distance
 Occurred on any software device
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 12 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Software device (BEFORE)
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 13 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
The Issue
 Software vertex pipeline was not
obeying the disabling of texture
transforms for a texture stage.
–PSGP issue
 Texture was still being transformed
and was using an un-initialized matrix.
- 14 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Fix
 Workaround avoids the transform
disable problem by never disabling
 Instead, transform with the identity
matrix
 Texture coordinates remain
unchanged
 Future PSGP update to resolve this
issue
- 15 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Software Device (AFTER)
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 16 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Software/Hardware Results Can
Differ
 Forcing software rendering during
development can expose problems
 GMA950 will experience same issues, primarily
due to use of PSGP
 Rare, but should always be verified
 For More info, read Integrated
Graphics Developer’s Guide:
–http://www.intel.com/cd/ids/developer
/asmo-na/eng/168495.htm
- 17 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Ubisoft – Prince of Persia Warrior
Within*
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 18 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Ubisoft – Prince of Persia Warrior
Within*
 Performance was very low at early
engagement (Meltdown ~7FPS)
 Changed DVMT settings in BIOS
– DVMT (Dynamic Video Memory Technology)
was initially set to 64MB
– Changed to 128 and framerate increase 25%
(15fps → 20fps)
 Scaled effects appropriately
 Result: >30FPS at 1024x768
 Side-note – Driver fix for glow effect
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 19 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Demo!
 Prince of Persia Warrior Within on Intel
GMA 900 series
- 20 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Valve – Half Life 2*
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 21 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Valve – Half Life 2*
 Issues we ran into:
–Software device with hardware
vertex buffers
–Large vertex buffers with lots of
untransformed polygons
–Lack of support for DX9 queries
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 22 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Sparse Vertex Buffers
 The software pipe processes the entire
vertex buffer range in the call to DP/DIP
–Unlike hardware which process on demand
–Try to minimize # of holes within the VB
vertex buffer
v0
…
v96
Most hardware processes vertices on demand
vertex buffer
v0
…
v96
Software pipe processes all vertices in VB range
- 23 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
DX9 Queries
 Optional in DX9
 Compute Intensive:
–would require regenerating TNL of scene
–our tiled architecture does not keep this
information around
 Had to disable usage of this query
- 24 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Resolution
 SSG Engineers from Intel on-site to
assist in investigation, root cause, and
resolution of issues
 HL2 now runs well on GMA 900 series
hardware
- 25 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Other titles running on IIG
 Complete list
available at:
http://support.intel.co
m/support/graphics/sb/
CS-012643.htm
 Google: Intel Game
Compatibility List
945G
- 26 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Correctness Tips
 The next few slides are tips that
encapsulate the majority of issues
developers run into. They are in no
particular order, but we run into them
all the time.
- 27 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Retrieving correct caps
 Don’t check caps before device has been created
 IDirect3D9 vs. IDirect3DDevice9
Capability
IDirect3D9::GetDeviceCaps()
IDirect3DDevice9::GetDeviceCaps()
MaxActiveLights
0
0xffffffff
MaxUserClipPlanes
0
6
MaxVertexBlendMatrices
0
4
MaxStreams
1
16
0.0
3.0
VertexShaderVersion
- 28 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Z-Fighting on Intel® GMA
 GMA series supports 16-bit Z-bias,
but emulates 32-bit in software
 Alternative solutions
–Increase DirectX* 9 Depth Bias
–Loading a new projection matrix
–Loading a new viewport
–For example code:
– http://www.intel.com/cd/ids/developer/asmo-na/eng/168495.htm
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 29 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Floating Point Textures
 No support for floating point textures or render
targets in GMA
– Don’t require your apps to have float tex support just yet
 Alternative:
– Emulate using integer formats and convert in shaders
– See HDRFormats in DX9 SDK for example using RGBE
(8 bits per color channel, 8 bits for shared exponent)
– High Dynamic Range Environment Mapping On
Mainstream Graphics Hardware
http://www.gamedev.net/columns/hardcore/hdrenvmap/
- 30 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Shader Compatibility
 GMA 900/950 supports
–Up to VS 3.0 and PS 2.0
 Specific third party extensions in
baseline will limit audience
 Have a backup method for effects
that will run on mainstream
device
- 31 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Easy development steps
 Force software T&L during development
–Excellent method for catching problems
that will occur on integrated graphics
–Can be done with third party tools, or
through flags on device creation
 Specific configuration for Intel® GMA
–VS 3.0/2.0 + PS 2.0 path, lower poly count
 Engage early with Intel...
- 32 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Early Intel Engagement
 Systems are available for development
through Intel® Early Access Program
http://www.intel.com/IDS/EAP
 We’re here to help work through issues
 Driver bugs can be identified early
–And fixed!
- 33 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Call To Action
 Include Intel Graphics in your QA pipe
 Consider software rendering when
finalizing your game
 If you see any problems, let us know
 If don’t have a system, contact us!
- 34 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Questions?
cody.l.northrop@intel.com
adam.t.lake@intel.com
Intel Graphics
–intelgraphics@intel.com
Intel Developer Services
–http://developer.intel.com/graphics
- 35 -