The entity is a level higher than the vertex, which is composed of one or more vertices. An entity consisting of a single vertex is called a "point", and an entity consisting of two vertices is called a "line", and a three-vertex entity is called a "triangle". The geometric rendering unit supports several types of entities, such as dots, lines, triangles, lines with adjacent points, and triangles with neighboring points, which can handle up to six vertices at a time. With the support of rich metafile types, the geometric rendering unit allows the GPU to provide finer details of the model.
The geometric rendering unit gives the GPU the magical ability to create new geometric objects and add content to the scene. Flexible processing capabilities to make the GPU more generic, many of the past must rely on the CPU to complete the work, now can be completely referred to the GPU processing. In this way, the CPU will have more time to deal with artificial intelligence, addressing and so on. More surprisingly, the geometric rendering unit also makes the addition of physical operations simpler, with DirectX 10 creating boxes with physical properties, simulating rigid objects, and the physical operations that are expected to grow in popularity. It can be foreseen that with the help of the geometric rendering unit this weapon, the performance of the graphics card will produce a qualitative leap, we will also experience a more fluent, more exquisite picture, more detailed plot of the game.
Improved API and drive effectiveness
We know that every game character, weapon and scene in the 3D program is an object (objects), and each frame game screen may appear hundreds of object. When the graphics card is working, each object is transferred from the application to the API interface and then through the graphics driver to the video card. In the existing DirectX system, any object to operate or render, will cause the additional consumption of system resources, the game of more than the object of the time spent on the longer, resulting in additional consumption will be more. According to statistics, the existing DirectX 9 graphics chip in the work, only 60% of the performance of the Operation 3D program, the remaining 40% of the computational power is wasted!
To change the status quo, DirectX 10 uses dynamic indexing in the renderer, object is automatically loaded by the driver, data can be sorted and continuously entered, so that the amount of data transmitted on a single transmission is increased, which greatly reduces the extra time spent. By introducing new APIs and drivers, DirectX 10 improves the performance of the graphics chip to 80%. Without increasing the hardware cost of the graphics card, the performance of the graphics card is greatly improved.
Parallel Engine support Technology
To enhance the efficiency of multiple graphics collaboration, Microsoft has introduced the concept of "Parallel Engine Support (parallel engine support)" in DirectX 10, which can be used to transfer two GPU-required data to two corresponding GPU respectively. Frame rendering will be completely driven by the control and deployment, the two graphics card work intensity can be a good balance. In the current operation mode of master-slave card, the main card should be judged from the frame of the card and the number of rendering, and the concept of the master-slave card will disappear after the introduction of the parallel engine support technology, the power of two or even multiple graphics cards will be fully embodied.
Unified Rendering Architecture
The biggest innovation of DirectX 10 is the Unified rendering architecture (Unified Shader Architecture). At present, all kinds of graphics hardware and APIs are separated rendering architecture, that is, vertex rendering and pixel rendering are independent, the former task is to build a polygon with three-dimensional coordinate information, the latter is to transform these vertices from three-dimensional to two-dimensional, so that the visual deception can be displayed on the screen "three-dimensional" scene. In this case, the GPU also has a dedicated vertex rendering unit and pixel rendering unit to perform both of these tasks (the number of render units is not equal due to the different workloads, and the vertex render units are usually only 1/3~1/2 of pixel rendering units). In the past few years, this kind of separation design has made certain contribution to the development of computer graphics field.
However, Microsoft believes that this separation rendering architecture is not flexible, different GPU, its pixel rendering unit and vertex rendering unit ratio is not the same, software developers in writing code must consider this ratio, which greatly limits the developer free space to play. In addition, different graphics games or software for pixel rendering and vertex rendering requirements are not the same, resulting in GPU computing resources are not fully utilized. To this end, Microsoft has put forward the idea of a unified rendering architecture in DirectX 10: Performing different types of renderer on the same physical type of render unit. In other words, only one render unit is used to achieve vertex rendering, pixel rendering, and even geometric rendering. In this way, the rendering unit can be used to the maximum extent, reducing the situation of idle resources. Currently, the Xbox 360 display chip Xenos uses a unified rendering architecture, which has 48 render units, which can be used for vertex rendering or pixel rendering, without a fixed allocation ratio. In addition, ATI also intends to use a unified rendering architecture in the next generation of R600 chips.
Of course, the unified rendering architecture is not flawless. In relative vertex rendering, pixel rendering will face the material delay caused by the large-scale use of textures, which is an urgent problem to be solved in the unified rendering architecture. But one thing is certain, with Microsoft's vigorous promotion, unified rendering architecture is the general trend.