D3D

Direct3D* 12 - Console API Efficiency & Performance on PCs

An Overview of Direct3D* 12
By: Michael Coppock

Download PDF

Abstract
Microsoft Direct3D* 12 is an exciting leap forward in PC gaming technology, giving developers greater control of their games and adding greater CPU efficiency and scalability.


 

Table of Contents

Introduction

  • Developers
  • Microsoft Windows* 8
  • Game Development
  • Windows*
  • Intermediate
  • Microsoft Direct3D* 12
  • direct3d
  • D3D
  • Game Development
  • GPA 2.1 Feature Highlight: Configurable X and Y Axes in the Bar Chart

    In 2.1, GPA allows you to configure both the X and Y axis to any available metric within the bar chart. This allows you to visually see the relationship between multiple per-draw call metrics at the same time. For example, you can select vertex shader duration in the X-axis and pixel shader duration in the Y-axis.


    After configuring the bar chart this way, the wider the bar is - the more vertex shader heavy it is, the taller, the more pixel shader heavy it is.


    See the screenshots below for a view of this feature in action...

    Direct3D的浮点精度问题

    Direct3D的浮点精度问题


    最近编写一个Firefox的小插件,里面利用D3D进行Render,结果导致Firefox的UI渲染错误(插件后面的主窗口背景变成黑色),检查了好几天发现程序逻辑并没有问题,窗口函数和消息处理都正常。后来偶然发现同样用OpenGL渲染没有问题,再三查找发现问题出在D3D的浮点精度上面。从D3D的文档D3DCREATE条目中查到的:


    D3DCREATE_FPU_PRESERVE Set the precision for Direct3D floating-point calculations to the precision used by the calling thread. If you do not specify this flag, Direct3D defaults to single-precision round-to-nearest mode for two reasons:


    - Double-precision mode will reduce Direct3D performance.

    Subscribe to D3D