05.08.2013 Views

Intel HD Graphics DirectX Developer's Guide (Sandy Bridge)

Intel HD Graphics DirectX Developer's Guide (Sandy Bridge)

Intel HD Graphics DirectX Developer's Guide (Sandy Bridge)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Intel</strong>® <strong>HD</strong> <strong>Graphics</strong> <strong>DirectX</strong>* <strong>Developer's</strong> <strong>Guide</strong><br />

3. Generically speaking, the more compact the texture format being used, the better<br />

is the performance. In particular, minimize the use of 32-bit floating point<br />

textures.<br />

4. Use as few render targets as possible, ideally keeping it to less than four.<br />

a. Minimize the number of Clear calls. Clear surfaces, Color and Z/Stencil buffer<br />

at the same time when required.<br />

5. Utilize shadow maps instead of stencil shadows as the latter are fill intensive.<br />

3.4 Microsoft <strong>DirectX</strong>* 10 Optional<br />

Features<br />

D3D10 does specify some optional features even though the CAP bit concept from the<br />

previous API has been removed. The following features are no longer part of the<br />

specifications or optional:<br />

1. MSAA 2X and 4X is now supported on <strong>DirectX</strong>* 10.<br />

2. 32-bit floating point blending is supported.<br />

3. Utilize the <strong>DirectX</strong>* 10 CheckFormatSupport() call for UNORM and SNORM<br />

blending support.<br />

4. <strong>DirectX</strong>* 10 specifies a large number of resource types and data formats including<br />

many of them that are optional. Utilize the <strong>DirectX</strong>* 10 CheckFormatSupport() call<br />

to determine what is supported.<br />

3.5 Managing Constants on Microsoft<br />

<strong>DirectX</strong>*<br />

Constants are external variables passed as parameters to the shaders; their values<br />

remain “constant” during each invocation of the shader program. Despite their name,<br />

constants are one of the most frequently changing values in a Microsoft <strong>DirectX</strong>*<br />

application. A shader program can initialize a constant value statically to a value in the<br />

shader file or at runtime through the application.<br />

Most of the recommendations described here are not completely new and may have<br />

been described elsewhere. However, it is still very much applicable to <strong>Intel</strong> processor<br />

graphics and the recommendations attempt to detail them in a cohesive manner. In<br />

addition to these points it is worth noting that care should be taken when porting from<br />

Microsoft <strong>DirectX</strong>* 9 to Microsoft <strong>DirectX</strong>* 10 to maintain performance. For more<br />

information on this topic, see the <strong>Intel</strong> publication “<strong>DirectX</strong>* Constants Optimizations<br />

For <strong>Intel</strong>® Processor graphics” [2] available on the <strong>Intel</strong>® Software Network.<br />

20 Document Number: 321371-002US

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!