Jump to content

Vista and DirectX 10


Zeus_Hunt

Recommended Posts

Windows Vista and DirectX

It's been called DirectX 10, Windows Graphics Foundation 2.0, and most recently, Direct3D10. The naming situation will clear up as we get closer to the official Windows Vista release, but all you have to know is that DirectX 10 and Direct3D10 in particular will introduce a new era in PC gaming.

Microsoft's DirectX APIs are a collection of interfaces that standardize how game developers talk to PC system hardware. It's a lot easier for programmers to write for a single DirectSound or Direct3D API, instead of writing for every single video card and sound card in existence. Microsoft rebuilt its Direct3D API from scratch for Windows Vista, and Direct3D10 will serve as the base for all future Direct3D innovations throughout the life span of the Windows Vista operating system.

Because the Direct3D10 foundation has to serve game developers through the next decade, Windows Vista will streamline and open up Direct3D with several forward-looking features that will help programmers create better games and get more performance out of PC hardware.

All Hail the Graphics Processing Unit

Direct3D10 finally completes the break from the legacy fixed-function pipeline. Developers will use the programmable pipeline to emulate the older, fixed-function steps. Additionally, Microsoft had to rethink its display driver model now that the entire desktop is going 3D. The video card isn't just for games anymore. When you have a 3D desktop and give each application its own 3D window, the display driver has to be flexible and stable enough to handle the video card's increased role in the system. Microsoft split up the display driver to increase stability, to ensure that the 3D desktop stays up in the event that a game or another application crashes due to a graphics error. This change also means that Microsoft will not release DirectX 10 for Windows XP, because many of the Direct3D10 improvements will need the new Windows Vista Display Driver Model.

Opening up the video card to more applications will require Vista to give the GPU more system resources and allow applications to share the hardware. The biggest change for game developers will be virtualized memory for the GPU. The video card will now have its own space in system RAM to store information that can't fit on local video card memory. High-end video cards ship with 256MB or 512MB of memory, but games can still use the extra space in system memory to store large chunks of information, like textures.

Epic Games founder Tim Sweeney explains, "Virtual texturing eliminates the video memory bottleneck on texture size; whereas in DirectX 9 the size of textures we can use with full performance is limited by the amount of video memory, in DirectX 10 it is only limited by total system memory." Furthermore, Tim predicts that virtual memory will enable a "2X-4X increase in texture usage in games, which will be great for Unreal Engine 3 games, where textures are often authored at very high resolutions like 2048x2048, and then scaled down on lower-end systems to improve performance."

Setting Standards and Improving Performance

Video cards will now have strict feature-set requirements for Direct3D10. A video card must have the full feature set to be DirectX 10 approved. This isn't a whole lot different from the existing model, in which a card has to have certain features to be DirectX 9.0c or Shader Model 2.0 compliant, but Microsoft has made the specification much more detailed to remove any chance of hardware variation. Differences in how Nvidia and ATI cards handled floating-point precision created extra work for developers in the past, but tighter Direct3D10 specifications will help remove ambiguous areas in hardware design. Having consistent hardware means programmers can avoid spending development time on customizing games for cards that don't have all the necessary features or have odd implementations.

Microsoft plans to accelerate its Direct3D release schedule to keep up as the graphics manufacturers release new GPUs with advanced features. If everything goes as planned, the game developer will have to learn only Direct3D11, instead of figuring out the quirks for two different GPUs when Nvidia and ATI release a new technology round. However, this change might not mean the end of writing code for specific GPUs. While developers can count on DX10 to define card features sets, the Microsoft DirectX team admits that "we may see [hardware vendors] putting in additional differentiating features, which developers may want to natively support."

DirectX 10 will increase game performance by as much as six to eight times. Much of that will be accomplished with smarter resource management, improving API and driver efficiencies, and moving more work from the CPU to the GPU. "The entire API and pipeline have been redesigned from the ground-up to maximize performance, and minimize CPU and bandwidth overhead," according to Microsoft. Furthermore, "The idea behind D3D10 is to maximize what the GPU can do without CPU interaction, and when the CPU is needed it’s a fast, streamlined, pipeline-able operation." Giving the GPU more efficient ways to write and access data will reduce CPU overhead costs by keeping more of the work on the video card.

Here's a list of several new Direct3D 10 performance improvements GameSpot was able to wrestle out of the DirectX 10 team:

  • New constant buffers maximize efficiency of sending shader constant data (light positions, material information, etc.) to the GPU by eliminating redundancy and massively reducing the number of calls to the runtime and driver. New state objects significantly reduce the amount of API calls and bandwidth, tracking, mapping, and validation overhead needed in the runtime and driver to change GPU device state.
  • Texture arrays enable the GPU to swap materials on-the-fly without having to swap those textures from the CPU.
  • Resource views enable super-fast binding of resources to the pipeline by informing the system early-on about its intended use. This also vastly reduces the cost of hazard-tracking and validation.
  • Predicated rendering allows draw calls to be automatically deactivated based on the results of previous rendering - without any CPU interaction. This enables rapid occlusion culling to avoid rendering objects that aren’t visible.
  • Shader Model 4.0 provides a more robust instruction set with capabilities like integer and bitwise instructions, enabling more work to be transferred to the GPU.
  • The D3D runtime itself has been completely refactored to maximize performance and configurability by the application.

It remains to be seen just how well actual DX10 graphics hardware will be able to handle the additional work, but we've seen in the past that ATI and Nvidia have been able to deliver whenever games have shifted work from the CPU to the GPU.

Taken from GameSpot

Link to comment
Share on other sites


  • Replies 6
  • Views 1.8k
  • Created
  • Last Reply
SliverSamuel

can't wait for the stable version of vista to come out...

Link to comment
Share on other sites


I heard a lot of computers cant even take full advantage of Vista's special features... That sucks. :)

Link to comment
Share on other sites


I heard a lot of computers cant even take full advantage of Vista's special features... That sucks. :)

it probably means that they need a computer upgrade.

Link to comment
Share on other sites


I think many people will have to do some sort of hardware upgrade if they want to optimise the new "Vista" environment and gaming experience.

Link to comment
Share on other sites


Guest TheBlackSails

You won't even get the special glass effects unless you have a "genuine" copy.

Of course, I'm sure piracy will find us a way around that.

Link to comment
Share on other sites


Guest NthDegree

Ha who cares about Vista? Only potentially good part of it will be the stable IIS 7 and that's it really.

What we should focus on is the Server family of products - they have less piracy checks on them, tend to have less exploits and better performance.

Think about it no company would want microsoft sniffing their back side 24/7 and accusing them of piracy and microsoft only knows what else. Vista is (or was) going to be rigged with detection of applications used in piracy and disable them or not allow them to run.

And microsoft is (or was) going to have the power to "deactivate" any microsoft products that they even suspect are using software that can be used for piracy (e.g P2P, torrents, illegal copyright bypass software etc.).

The Enterprise Server products on the other hand if they are VLK copies won't have any checks really and won't have easy "deactivation" - I know they won't because companies don't stand for sh!t especially large corporations and enterprises.

So keep an eye out for the next enterprise server software and not the bloatware that supports anti-p2p and anti-piracy!

Link to comment
Share on other sites


Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...