Higher Fidelity Graphics with Less Memory at Microsoft Build

by Henry Moreton

Henry Moreton, Ph.D., is a Distinguished Engineer in the architecture group at NVIDIA. He holds over seventy-five patents in the areas of optics, video compression, graphics, system and CPU architecture, and curve and surface modeling and rendering.

Tiled Resource support in Direct3D was introduced today by Microsoft at its annual Build developer conference.

Tiled Resources are a major advance in application flexibility in managing memory, and I’m excited to think about the applications this will open up.

Before Tiled Resources, all memory surfaces in Direct3D had to be fully physically resident in DRAM.  Tiled Resources are different – they are memory resources whose constituent pages (tiles) may be optionally populated with corresponding physical memory. Microsoft has created a standard hardware interface to what was previously a software-only technology, which will mean a more powerful, efficient generalization of earlier texture-only technologies.

To illustrate the usefulness of Tiled Resources, Microsoft shared three demonstration applications all running on NVIDIA GPUs. The first two illustrated the use of Tiled Resources to support view-dependent streaming of texture detail.

tiled1In the first, Microsoft took the audience to a point high above Mars, and then zoomed down to expose the detailed crags and crannies of the rocky red planet’s surface. In the application, the surface of the planet is textured with six sets of 16K mipmapped textures. By taking the current viewpoint into account, the application need only populate a tiny fraction of these textures.

tiled2In the second demo, provided by Graphine Software, Microsoft showed a futuristic plane flying over a highly detailed landscape. The viewer flew high and low, yet the full richness of the land below remained visible throughout.

In both, Tiled Resources are used by the developer to only allocate memory necessary for the current view, though the hardware renders from enormous textures.

This slight-of-hand greatly simplifies the developer’s task, in turn allowing the hardware to automatically filter the texture as though all of the texture were present.  The end result is lower development time, a higher fidelity image, greater performance and less power consumption.

tiled3In a third demo illustrating another powerful use of Tiled Resources, Microsoft showed  a program developed by our content technology group. It showed a power plant filled with fine shadows that dynamically shift to reveal the detailed environment.

In this example, an enormous shadow depth map is used to precisely compute the shadows in the scene.

To avoid the allocation of a prohibitive amount of memory, Tiled Resources are used to allocate only the memory required to compute the shadows for the current view, a tiny fraction of the total.

The residency map, on the left, depicts the allocation map; the black region represents high resolution, and shades of represent progressively lower resolutions of the shadow hierarchy.

These demos are excellent highlights of the power of Tiled Resources.  By working in collaboration with Microsoft, our NVIDIA team has been able to influence the design of Tiled Resources and deliver a solid driver that taps into the huge NVIDIA installed base. There are over 90 million NVIDIA GPUs capable of supporting Tiled Resources. For developers, that  means an enormous, instant installed base for a powerful new feature.  I’m really looking forward to seeing how developers take advantage of this newly available capability.

Similar Stories

  • http://www.facebook.com/people/Jason-Dagless/100002519174731 Jason Dagless

    Tile Rendering? Welcome back 1998 and the PowerVR revival is here!

    About time we revisited some of the more efficient rendering techniques of the past.

  • http://www.facebook.com/allenvanwert Allen Van Wert

     Was thinking the same

  • Eric Zaba

    well if it only computes the tiles in the current view, then we will see lots of the horrible look left right see nothing till it loads type of thing going on here! maybe when the average consumer has 3 gigs of frame buffer things will be better but i think there might be some problems associated with this

  • http://www.facebook.com/bojaka Johan Fredriksson

    “There are over 90 million NVIDIA GPUs capable of supporting Tiled Resources.” Yes, but how many of those are running Windows 8(.1) or are willing to do so? >=/
    So incredibly stupid by Microsoft to only support Tiled Resources on Windows 8.1 instead of making it available for their best and most popular operating system Windows 7, but after their marketing fail with Xbone… I guess we didn’t expect anything else…

  • http://www.facebook.com/people/Jason-Dagless/100002519174731 Jason Dagless

    Well if you are not having to render every facet and feature (visible and hidden) possible in a scene it maybe that you can render twice the visible screen area at the same time still with the memory savings which enables you to move around without any render lag when you swing left or right.

    I’m more interested in how this reduces the actual horsepower needed compared to traditional bruteforce rendering. Was this a factor in MS going for a lower power APU setup in the One?

    Remember those old turn of the century Kyro cards that could almost keep up with cards twice as powerful?

  • YouSuckedManyDicks

    they wanna push their crappy OS, wait, it will be released for win7 when noone buys windows 8.1. its just a marketing move.

    P.S: sorry for the nickname, couldnt delete the post and login with different ID.

  • http://www.facebook.com/mrunappreciated Alexander James Reed

    …Or in other words resource streaming – something available in almost every good game engine.

  • Edward Taggart Jr

    Xbone will walk all over ps4 just you Sony fan boys wait

  • JerkDaNERD7

    I thought Tiled Resrouces is only for textures, not like Tiled Rendering in PowerVR.