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 -