copyright © 2005 intel corporation. all rights reserved. real-life case studies in optimizing games...
TRANSCRIPT
Copyright © 2005 Intel Corporation. All Rights Reserved.
Real-life Case Studies in Real-life Case Studies in Optimizing Games for Intel® Optimizing Games for Intel®
GMA GraphicsGMA GraphicsLarry WickstromLarry WickstromContent: Adam Lake, Cody NorthropContent: Adam Lake, Cody Northrop
- 2 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
TopicsTopics
Intro to Intel® GMA 950Intro to Intel® GMA 950 Developer highlights from Developer highlights from
04/0504/05 Things to catch before Things to catch before
releaserelease Contacting IntelContacting Intel Call to ActionCall to Action
- 3 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Recent Intel GraphicsRecent Intel Graphics Intel Extreme GraphicsIntel Extreme Graphics
–2000: 815G2000: 815G–2002: 845G2002: 845G–2003: 865G2003: 865G
Intel Graphics Media Intel Graphics Media AcceleratorAccelerator–2004: 915G 2004: 915G GMA900 GMA900–2005: 945G 2005: 945G GMA950 GMA950
- 4 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Intel® GMA 950 vs. Intel® GMA 900Intel® GMA 950 vs. Intel® GMA 900 Improved Graphics CoreImproved Graphics Core
– Increased core clock speed – Increased core clock speed – – 333 MHz vs. 400 MHz (1.6 GP/s)333 MHz vs. 400 MHz (1.6 GP/s)
Improved PlatformImproved Platform–Support Dual Core CPU Support Dual Core CPU
– Up to 2x faster vertex processing Up to 2x faster vertex processing performanceperformance
Improved Graphics BandwidthImproved Graphics Bandwidth–Faster memory support via DDR2-667Faster memory support via DDR2-667
– From 8.5GB/s to 10.6 GB/sFrom 8.5GB/s to 10.6 GB/s
* Other brands and names may be claimed as the property of others
- 5 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Intel® GMA 900 graphics provides Intel® GMA 900 graphics provides excellent 3D performance compared excellent 3D performance compared to ATI* 9200SE 64MB AGP cardto ATI* 9200SE 64MB AGP card
Intel GMA 900 graphics provides 3D Intel GMA 900 graphics provides 3D performance comparable to Nvidia* performance comparable to Nvidia* 5200FX 128MB AGP card with 256MB 5200FX 128MB AGP card with 256MB system memorysystem memory
Lower potential system cost with Lower potential system cost with Intel graphics Intel graphics
Intel GMA 900 graphics performance Intel GMA 900 graphics performance scales with memory size and type to scales with memory size and type to meet various price/performance meet various price/performance targetstargets
-100
100
300
500
700
900
1100
1300
1500
ATI9200SE64MB
Nvidia5200FX128MB
IntelGMA 900
IntelGMA 900
IntelGMA 900
•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
3D
Ma
rk0
3 B
en
ch
ma
rk
IntelIntel®® GMA 900 compared to discrete GMA 900 compared to discreteentry level solutionsentry level solutions
Configurations and Disclaimers
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 SP2ATI* 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 SP2Performance 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.
Intel Confidential
256MB DDR400 System Memory
51
2MB
DD
R4
00
Sy
ste
m M
em
ory
25
6MB
DD
R4
00
512MB DDR400
512MB DDR2 533
51
2MB
DD
R2
533
Sy
ste
m M
em
ory
- 6 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Intel GraphicsIntel GraphicsSpecification ComparisonSpecification Comparison
IntelIntel®® Extreme Extreme GraphicsGraphics
IntelIntel®® GMA 900 GMA 900 IntelIntel®® GMA 950* GMA 950*
PlatformPlatform IntelIntel®® 865G Chipset 865G Chipset IntelIntel®® 915G Express 915G Express ChipsetChipset
IntelIntel®® 945G Express Chipset 945G Express Chipset
DirectX* HardwareDirectX* Hardware DirectX* 7.1DirectX* 7.1 DirectX 9DirectX 9
Vertex Shader 3.0Vertex Shader 3.0
Pixel Shader 2.0Pixel Shader 2.0
DirectX 9DirectX 9
Vertex Shader 3.0Vertex Shader 3.0
Pixel Shader 2.0Pixel Shader 2.0
OpenGL* Version SupportOpenGL* Version Support 1.31.3 1.41.4 1.4 with vertex buffer and 1.4 with vertex buffer and EXT_Shadow extensionsEXT_Shadow extensions
Pixel RatePixel Rate 266 MP/s266 MP/s 1.3 GP/s1.3 GP/s 1.6 GP/s1.6 GP/s
Core ClockCore Clock 300 MHz300 MHz 333 MHz333 MHz 400 MHz400 MHz
Pixel PipesPixel Pipes 11 44 44
Display Support Display Support (through SDVO devices)(through SDVO devices)
Single Single (dual clone only)(dual clone only)
Dual IndependentDual Independent Dual IndependentDual Independent
Max Dynamic Video Max Dynamic Video MemoryMemory
96MB96MB 224MB224MB11 224MB224MB11
Max Fixed Video Memory Max Fixed Video Memory 16MB16MB 128MB128MB11 128MB128MB11
Max Memory BandwidthMax Memory Bandwidth 6.4 GB/s6.4 GB/s 8.5 GB/s8.5 GB/s 10.6 GB/s10.6 GB/s
Max ResolutionMax Resolution QXGA 60HzQXGA 60Hz(2048x1536)(2048x1536)
QXGA 75HzQXGA 75Hz(2048x1536)(2048x1536)
QXGA 75HzQXGA 75Hz(2048x1536)(2048x1536)
1 128MB fixed and 224MB dynamic of video memory only on systems with at least 512MB of system memory
*Features subject to change prior to product release
- 7 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Next Generation of Graphics PerformanceNext Generation of Graphics PerformanceIntelIntel®® 945G Express Chipset 945G Express Chipset
3DMark03* performance 3DMark03* performance increases by 20%increases by 20%
PCMark*04 Graphics PCMark*04 Graphics performance increases 21% performance increases 21%
IntelIntel®® 915G Express chipset 915G Express chipset vs. upcoming Intelvs. upcoming Intel®® 945G 945G Express ChipsetExpress Chipset
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 system hardware or software design or configuration may affect actual performance.
Intel® 945G Express Chipset brings outstanding Intel® 945G Express Chipset brings outstanding graphics performance to the desktop PC*graphics performance to the desktop PC*
0
0.2
0.4
0.6
0.8
1
1.2
1.4
3DMark03* OverallTest
PCMark04*Graphics Test
1.00 1.00
Per
form
ance
nor
mal
ized
to In
tel®
91
5G E
xpre
ss C
hips
et
20%20% 21%21%
* As measured by the benchmarks shown
- 8 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Intel GMA 950 Advances Integrated 3D PerformanceIntel GMA 950 Advances Integrated 3D Performance3DMark05*3DMark05*
3DMark05* 3DMark05* – Full DirectX* 9 support vertex and Full DirectX* 9 support vertex and
pixel processing shader modelspixel processing shader models– Implements a new rendering engineImplements a new rendering engine
GMA 950 graphics provides better 3D GMA 950 graphics provides better 3D responsiveness as measured by 3DMark05*responsiveness as measured by 3DMark05*– Faster Pixel/Texel Rates and Pixel Faster Pixel/Texel Rates and Pixel
Shader throughputShader throughput– Faster memory support & FSBFaster memory support & FSB
All performance data taken on Intel® Pentium® 4 processor 550 supporting HT Technology
Configurations and Disclaimers
Intel® 945G Express Chipset provides satisfying visual Intel® 945G Express Chipset provides satisfying visual quality and responsive 3D performancequality and responsive 3D performance
0
0.5
1
1.5
2
Intel® 915GExpress Chipset
Intel® 945GExpress Chipset
1.00
2.01
2X2X
3DMark05*
Per
form
ance
nor
mal
ized
to In
tel®
91
5G E
xpre
ss C
hips
et
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 system hardware or software design or configuration may affect actual performance.
- 9 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Did you know? Did you know?
“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
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 IntegratedSystems (SiS) (5%)
Matrox Graphics (.3%)
XGI (.2%)
John Peddie Research
- 10 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
04/05 Developer Case 04/05 Developer Case Studies Studies
- 11 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Relic - Warhammer 40000: Dawn of Relic - Warhammer 40000: Dawn of War*War*
* 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.
Relic - Warhammer 40000: Dawn of Relic - Warhammer 40000: Dawn of War*War*
Visual problem occurred between Visual problem occurred between last beta drop and releaselast beta drop and release
Only seen when rotated camera Only seen when rotated camera could see into distance could see into distance
Occurred on any software deviceOccurred on any software device
* 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.
Software device (BEFORE)Software device (BEFORE)
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 14 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
The IssueThe Issue
Software vertex pipeline was not Software vertex pipeline was not obeying the disabling of texture obeying the disabling of texture transforms for a texture stage.transforms for a texture stage.–PSGP issuePSGP issue
Texture was still being transformed Texture was still being transformed and was using an un-initialized matrix.and was using an un-initialized matrix.
- 15 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
FixFix
Workaround avoids the transform Workaround avoids the transform disable problem by never disablingdisable problem by never disabling
Instead, transform with the identity Instead, transform with the identity matrixmatrix
Texture coordinates remain Texture coordinates remain unchangedunchanged
Future PSGP update to resolve this Future PSGP update to resolve this issueissue
- 16 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Software Device (AFTER)Software Device (AFTER)
* Other brands and names may be claimed as the property of others **Features subject to change prior to product release
- 17 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Software/Hardware Results Can Software/Hardware Results Can DifferDiffer
Forcing software rendering during Forcing software rendering during development can expose problemsdevelopment can expose problems
GMA950 will experience same issues, primarily GMA950 will experience same issues, primarily due to use of PSGPdue to use of PSGP
Rare, but should always be verifiedRare, but should always be verified
For More info, read Integrated For More info, read Integrated Graphics Developer’s Guide:Graphics Developer’s Guide:–http://www.intel.com/cd/ids/http://www.intel.com/cd/ids/
developer/asmo-na/eng/168495.htmdeveloper/asmo-na/eng/168495.htm
- 18 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Ubisoft – Prince of Persia Warrior Ubisoft – Prince of Persia Warrior Within*Within*
* 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.
Performance was very low at early Performance was very low at early engagement (Meltdown ~7FPS)engagement (Meltdown ~7FPS)
Changed DVMT settings in BIOSChanged DVMT settings in BIOS– DVMT (Dynamic Video Memory Technology) DVMT (Dynamic Video Memory Technology)
was initially set to 64MBwas initially set to 64MB
– Changed to 128 and framerate increase 25% Changed to 128 and framerate increase 25% (15fps (15fps →→ 20fps) 20fps)
Scaled effects appropriatelyScaled effects appropriately Result: >30FPS at 1024x768Result: >30FPS at 1024x768 Side-note – Driver fix for glow effect 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
Ubisoft – Prince of Persia Warrior Ubisoft – Prince of Persia Warrior Within*Within*
- 20 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Demo!Demo!
Prince of Persia Warrior Within on Prince of Persia Warrior Within on Intel GMA 900 seriesIntel GMA 900 series
- 21 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Valve – Half Life 2*Valve – Half Life 2*
* 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.
Valve – Half Life 2*Valve – Half Life 2* Issues we ran into:Issues we ran into:
–Software device with hardware Software device with hardware vertex buffersvertex buffers
–Large vertex buffers with lots of Large vertex buffers with lots of untransformed polygonsuntransformed polygons
–Lack of support for DX9 queriesLack 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
- 23 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Sparse Vertex BuffersSparse Vertex Buffers The software pipe processes the entire The software pipe processes the entire
vertex buffer range in the call to DP/DIPvertex buffer range in the call to DP/DIP–Unlike hardware which process on demandUnlike hardware which process on demand
–Try to minimize # of holes within the VBTry to minimize # of holes within the VB
… … v0v0 v96v96
vertex buffervertex buffer
Software pipe processes all vertices in VB rangeSoftware pipe processes all vertices in VB range
… … v0v0 v96v96
vertex buffervertex buffer
Most hardware processes vertices on demandMost hardware processes vertices on demand
- 24 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
DX9 QueriesDX9 Queries
Optional in DX9Optional in DX9 Compute Intensive:Compute Intensive:
–would require regenerating TNL of scenewould require regenerating TNL of scene
–our tiled architecture does not keep this our tiled architecture does not keep this information aroundinformation around
Had to disable usage of this queryHad to disable usage of this query
- 25 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
ResolutionResolution
SSG Engineers from Intel on-site to SSG Engineers from Intel on-site to assist in investigation, root cause, and assist in investigation, root cause, and resolution of issuesresolution of issues
HL2 now runs well on GMA 900 series HL2 now runs well on GMA 900 series hardwarehardware
- 26 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Other titles running on IIGOther titles running on IIG
Complete list Complete list available at: available at: http://http://support.intel.com/suppsupport.intel.com/support/graphics/sb/CS-012ort/graphics/sb/CS-012643.htm643.htm
Google: Intel Game Google: Intel Game Compatibility List Compatibility List 945G945G
- 27 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Correctness TipsCorrectness Tips
The next few slides are tips that The next few slides are tips that encapsulate the majority of issues encapsulate the majority of issues developers run into. They are in no developers run into. They are in no particular order, but we run into them particular order, but we run into them all the time.all the time.
- 28 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Retrieving correct capsRetrieving correct caps Don’t check caps before device has been Don’t check caps before device has been
createdcreated IDirect3D9 vs. IDirect3DDevice9Capability IDirect3D9::GetDeviceCaps(
)IDirect3DDevice9::GetDeviceCaps(
)
MaxActiveLights 0 0xffffffff
MaxUserClipPlanes 0 6
MaxVertexBlendMatrices
0 4
MaxStreams 1 16
VertexShaderVersion 0.0 3.0
- 29 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Z-Fighting on Intel® GMAZ-Fighting on Intel® GMA GMA series supports 16-bit Z-bias, GMA series supports 16-bit Z-bias,
but emulates 32-bit in softwarebut emulates 32-bit in software Alternative solutionsAlternative solutions
– Increase DirectX* 9 Depth Bias Increase DirectX* 9 Depth Bias
–Loading a new projection matrixLoading a new projection matrix
–Loading a new viewportLoading a new viewport
–For example code:For example code:– http://www.intel.com/cd/ids/developer/asmo-na/eng/168495.htm 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
- 30 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Floating Point TexturesFloating Point Textures No support for floating point textures or render No support for floating point textures or render
targets in GMAtargets in GMA– Don’t require your apps to have float tex support just yetDon’t require your apps to have float tex support just yet
Alternative:Alternative:– Emulate using integer formats and convert in shadersEmulate using integer formats and convert in shaders
– See HDRFormats in DX9 SDK for example using RGBE See HDRFormats in DX9 SDK for example using RGBE (8 bits per color channel, 8 bits for shared exponent)(8 bits per color channel, 8 bits for shared exponent)
– High Dynamic Range Environment Mapping On High Dynamic Range Environment Mapping On Mainstream Graphics HardwareMainstream Graphics Hardware http://www.gamedev.net/columns/hardcore/hdrenvmap/http://www.gamedev.net/columns/hardcore/hdrenvmap/
- 31 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Shader CompatibilityShader Compatibility
GMA 900/950 supportsGMA 900/950 supports–Up to VS 3.0 and PS 2.0Up to VS 3.0 and PS 2.0
Specific third party extensions in Specific third party extensions in baseline will limit audiencebaseline will limit audience
Have a backup method for effects Have a backup method for effects that will run on mainstream devicethat will run on mainstream device
- 32 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Easy development stepsEasy development steps Force software T&L during developmentForce software T&L during development
–Excellent method for catching problems Excellent method for catching problems that will occur on integrated graphicsthat will occur on integrated graphics
–Can be done with third party tools, or Can be done with third party tools, or through flags on device creationthrough flags on device creation
Specific configuration for Intel® GMASpecific configuration for Intel® GMA–VS 3.0/2.0 + PS 2.0 path, lower poly countVS 3.0/2.0 + PS 2.0 path, lower poly count
Engage early with Intel...Engage early with Intel...
- 33 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Early Intel EngagementEarly Intel Engagement Systems are available for development Systems are available for development
through Intel® Early Access Programthrough Intel® Early Access Programhttp://www.intel.com/IDS/EAPhttp://www.intel.com/IDS/EAP
We’re here to help work through issuesWe’re here to help work through issues Driver bugs can be identified earlyDriver bugs can be identified early
–And fixed!And fixed!
- 34 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
Call To ActionCall To Action
Include Intel Graphics in your QA pipeInclude Intel Graphics in your QA pipe Consider software rendering when Consider software rendering when
finalizing your gamefinalizing your game If you see any problems, let us knowIf you see any problems, let us know If don’t have a system, contact us!If don’t have a system, contact us!
- 35 -
Copyright © 2005 Intel Corporation. All Rights Reserved.
[email protected]@intel.com
[email protected]@intel.com
Intel GraphicsIntel Graphics– [email protected]@intel.com
Intel Developer ServicesIntel Developer Services–http://developer.intel.com/graphicshttp://developer.intel.com/graphics