• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Automatic GPU memory paging/tiling announced for W8.1 and Xbox One.

oldergamer

Member

That looks like it. pretty cool what could be done with only 16MB. They are providing an interface to new hardware feature. It's more then PRT, it works on textures, geometry and lighting (I'm assuming you don't light what you can't see). It must be saving a lot of bandwidth and or using a set amount of bandwidth.

It kinda explains how MS was able to make the cars so detailed on the new forza. This is a really interesting feature. Also note that he says this will work on DX11 cards out there but that it won't work on iOS or any platform outside of windows 8.1 or Xbox one.

If that's the case then I can see how MS went with the hardware they did. What little speed advantage difference sony has on paper is further lost when a developer uses this feature. People really need to talk about this more and break it down.
 

Swifty

Member
That looks like it. pretty cool what could be done with only 16MB. They are providing an interface to new hardware feature. It's more then PRT, it works on textures, geometry and lighting (I'm assuming you don't light what you can't see). It must be saving a lot of bandwidth and or using a set amount of bandwidth.

It kinda explains how MS was able to make the cars so detailed on the new forza. This is a really interesting feature. Also note that he says this will work on DX11 cards out there but that it won't work on iOS or any platform outside of windows 8.1 or Xbox one.

If that's the case then I can see how MS went with the hardware they did. What little speed advantage difference sony has on paper is further lost when a developer uses this feature. People really need to talk about this more and break it down.
Maybe you should actually read the DX 11.2 spec.
 

petran79

Banned
hence why I prefer OpenGL.

its updated, its similar to DirectX 11 and it is crossplatform (it even works on WindowsXP)

Microsoft at their cheap marketing ploys again
 

astraycat

Member
That looks like it. pretty cool what could be done with only 16MB. They are providing an interface to new hardware feature. It's more then PRT, it works on textures, geometry and lighting (I'm assuming you don't light what you can't see). It must be saving a lot of bandwidth and or using a set amount of bandwidth.

It kinda explains how MS was able to make the cars so detailed on the new forza. This is a really interesting feature. Also note that he says this will work on DX11 cards out there but that it won't work on iOS or any platform outside of windows 8.1 or Xbox one.

If that's the case then I can see how MS went with the hardware they did. What little speed advantage difference sony has on paper is further lost when a developer uses this feature. People really need to talk about this more and break it down.

It's just PRT. Nothing in that demo was not PRT. The extra detail comes from normal mapping.
 

mrklaw

MrArseFace
I'm confused. I can see the benefit of this for PCs where you can store graphics in main ram but still reference it as though you have a large pool of graphics ram (but you'll want to be careful due to different transfer speeds of main vs VRAM).

But both Xbox one and PS4 have unified memory pools anyway. They will both be able to use all the ram for graphics if they want. What is the specific benefit of PRT here?
 

twobear

sputum-flecked apoplexy
I'm confused. I can see the benefit of this for PCs where you can store graphics in main ram but still reference it as though you have a large pool of graphics ram (but you'll want to be careful due to different transfer speeds of main vs VRAM).

But both Xbox one and PS4 have unified memory pools anyway. They will both be able to use all the ram for graphics if they want. What is the specific benefit of PRT here?

Maybe something to do with the EDRAM?
 

dr_rus

Member
What's the point of having this "feature" on the Xbone with it's UMA architecture? They're trying to make ESRAM cache transparent to the software? Why would they do that for a fixed console platform with the ability to code to the exact specs?
 

gofreak

GAF's Bob Woodward
I'm confused. I can see the benefit of this for PCs where you can store graphics in main ram but still reference it as though you have a large pool of graphics ram (but you'll want to be careful due to different transfer speeds of main vs VRAM).

But both Xbox one and PS4 have unified memory pools anyway. They will both be able to use all the ram for graphics if they want. What is the specific benefit of PRT here?

Paging in textures from the hard disk/blu-ray.

You might have massive texture assets but only a relatively limited texture buffer in memory. Yes, the consoles have 8GB to work with, but slice a portion of that for texture data, and it might still be relatively small next to the size of static assets.

This is basically what Rage did. But they rolled their own implementation. The advantage of API or hardware support is ease of implementation and support for hardware filtering of textures.

From a console perspective, this isn't really a big deal. It'd be more shocking if the API didn't expose PRT related features in the API.

This is a bigger deal from the point of view of broader support in games. Before you had to roll your own or use OpenGL vendor extensions, which isn't conducive to widespread adoption. Now it should be possible to depend more easily on PRT techniques across most or all target platforms for a game...at least, if you're going next-gen only.
 
And this is a threadworhy why? Because PC still have split memory pools? :D

Radeon cards support this for a long time now, both consoles will support it just fine. Slower ram on Xbone will not magically became better if MS starts throwing PR speek on us.

It's definitely thread worthy. The Xbox One architecture, especially with the ESRAM, seems like a fantastic fit for this. It looks like a system that would be fantastic for virtual texturing.
 

astraycat

Member
He mentions 3 gigs of data for the first demo and 9 gigs of data for the second one. He never states that it's only texture data.

All he talks about is the detail as you zoom in, and the two example he shows are both texture based -- where are you drawing the conclusion that there's increased geometry?
 

oldergamer

Member
from the durango leaked spec thread:

"Virtual Addressing

All GPU memory accesses on Durango use virtual addresses, and therefore pass through a translation table before being resolved to physical addresses. This layer of indirection solves the problem of resource memory fragmentation in hardware—a single resource can now occupy several noncontiguous pages of physical memory without penalty.

Virtual addresses can target pages in main RAM or ESRAM, or can be unmapped. Shader reads and writes to unmapped pages return well-defined results, including optional error codes, rather than crashing the GPU. This facility is important for support of tiled resources, which are only partially resident in physical memory"

if this is a standard hardware feature then is should be supportable in PS4.
 
from the durango leaked spec thread:

"Virtual Addressing

All GPU memory accesses on Durango use virtual addresses, and therefore pass through a translation table before being resolved to physical addresses. This layer of indirection solves the problem of resource memory fragmentation in hardware—a single resource can now occupy several noncontiguous pages of physical memory without penalty.

Virtual addresses can target pages in main RAM or ESRAM, or can be unmapped. Shader reads and writes to unmapped pages return well-defined results, including optional error codes, rather than crashing the GPU. This facility is important for support of tiled resources, which are only partially resident in physical memory"

if this is a standard hardware feature then is should be supportable in PS4.

It's most definitely possible on the PS4, and will likely happen, but the main point isn't so much that this is something to brag about and claim the PS4 can't do, but more to point out that the Xbox One's architectural decisions make a lot more sense when things like this are supported at a hardware level. Suddenly, 32MB of low latency ESRAM and move engines that will help developers better utilize the ESRAM don't seem all that bad, which is something I've been saying for some time.
 
from the durango leaked spec thread:

"Virtual Addressing

All GPU memory accesses on Durango use virtual addresses, and therefore pass through a translation table before being resolved to physical addresses. This layer of indirection solves the problem of resource memory fragmentation in hardware—a single resource can now occupy several noncontiguous pages of physical memory without penalty.

Virtual addresses can target pages in main RAM or ESRAM, or can be unmapped. Shader reads and writes to unmapped pages return well-defined results, including optional error codes, rather than crashing the GPU. This facility is important for support of tiled resources, which are only partially resident in physical memory"

if this is a standard hardware feature then is should be supportable in PS4.

Maybe, although it sounds like MS put their own tech in to the GPU/hardware itself (from XB1 arch. panel):

There's also some technology we put in to enable really large dynamic worlds as well. We have this thing called partially resident textures that the gpu supports which actually means that you can save esentially gigabytes of memory in not having to have all of the data loaded at all of the time. So the gpu itself can figure out if something is in memory or not, it doesn't need everything to be physically in memory the whole time. We also put in a compression as well, we have lz77 move engines that can just work behind the scene and compress/decompress, which is going to be really super important for working with data from the cloud.

Although it does seem like on the Move engines are the only propriety tech, especially if we're seeing PRT on all platforms. Not sure why they'd highlight it?
 

oldergamer

Member
Well I do wonder if the move engines are what is assigning everything loaded into memory a a non continuous virtual address?
 
Maybe, although it sounds like MS put their own tech in to the GPU/hardware itself (from XB1 arch. panel):

There's also some technology we put in to enable really large dynamic worlds as well. We have this thing called partially resident textures that the gpu supports which actually means that you can save esentially gigabytes of memory in not having to have all of the data loaded at all of the time. So the gpu itself can figure out if something is in memory or not, it doesn't need everything to be physically in memory the whole time. We also put in a compression as well, we have lz77 move engines that can just work behind the scene and compress/decompress, which is going to be really super important for working with data from the cloud.

Although it does seem like on the Move engines are the only propriety tech, especially if we're seeing PRT on all platforms. Not sure why they'd highlight it?

The PS4's GPU also supports PRT. There's nothing special about the core hardware supported tech on each console. The Xbox One has just, for quite some time, seemed deliberately designed with this tech in mind.
 

gofreak

GAF's Bob Woodward
Maybe, although it sounds like MS put their own tech in to the GPU/hardware itself (from XB1 arch. panel):

There's also some technology we put in to enable really large dynamic worlds as well. We have this thing called partially resident textures that the gpu supports which actually means that you can save esentially gigabytes of memory in not having to have all of the data loaded at all of the time. So the gpu itself can figure out if something is in memory or not, it doesn't need everything to be physically in memory the whole time. We also put in a compression as well, we have lz77 move engines that can just work behind the scene and compress/decompress, which is going to be really super important for working with data from the cloud.

Although it does seem like on the Move engines are the only propriety tech, especially if we're seeing PRT on all platforms. Not sure why they'd highlight it?

I don't think they're highlighting it very specifically. They discussed and mentioned many 'ordinary' things in the architecture panel.

As for why it would be highlighted at Build, API support is important to adoption.
 

oldergamer

Member
They did say it's automatic. I guess people had to write their own implementation of this previously? Although I wish we had more information how the move engines and a feature like this work together.
 

twobear

sputum-flecked apoplexy
So I don't really get why this is a big deal. You're still limited by the bandwidth of the DDR3 RAM, right? So that's still a bottleneck, right?
 

gofreak

GAF's Bob Woodward
It's most definitely possible on the PS4, and will likely happen, but the main point isn't so much that this is something to brag about and claim the PS4 can't do, but more to point out that the Xbox One's architectural decisions make a lot more sense when things like this are supported at a hardware level. Suddenly, 32MB of low latency ESRAM and move engines that will help developers better utilize the ESRAM don't seem all that bad, which is something I've been saying for some time.

I think it's slightly the other way around. I think I would say that Xbox One's design, with the unconventional capacity:bandwidth ratios across two pools, makes a necessity of features like this, if you want to make optimal use of it, rather than Xbox One being designed for those features specifically. If eSRAM had gobs of bandwidth in excess of a conventional design I might be more inclined to agree with you.
 
I said that in my post.

Yea, I wasn't finished with my post, that's why I edited :)

I think it's slightly the other way around. I think I would say that Xbox One's design, with the unconventional capacity:bandwidth ratios across two pools, makes a necessity of features like this, if you want to make optimal use of it, rather than Xbox One being designed for those features specifically. If eSRAM had gobs of bandwidth in excess of a conventional design I might be more inclined to agree with you.

If they intended on designing the system this way with tech like this in mind, then, yes, I would agree that the tech feature they designed for in the first place is indeed a necessity for a platform that was largely designed to benefit greatly from the approach. Also, the bandwidth situation, for example, on the Xbox One's ESRAM is in a much better situation compared to that of, say, EDRAM on the Xbox 360, which seems a highly complimented aspect of the system's design. Also, even beyond what the bandwidth is for the overall system, or even for just the ESRAM, there will definitely be benefits to it being very low latency. In all the focus on bandwidth, a lot of people are maybe undervaluing the potential benefits of the very low latency of the ESRAM.

The bandwidth isn't the only thing that we should potentially be judging ESRAM's usefulness to the console on.
 

gofreak

GAF's Bob Woodward
They did say it's automatic. I guess people had to write their own implementation of this previously?

If you wanted to use this before in Direct3D you had to implement your own and do without certain hardware features like texture filtering e.g. do your own filtering in the shader.

When they talk about it being automatic, I assume they mean like the opengl extensions, where you can allocate a texture in the usual fashion and the paging is taken care of for you behind the scenes.

If they intended on designing the system this way with tech like this in mind, then, yes, I would agree that the tech feature they designed for in the first place is indeed a necessity for a platform that was largely designed to benefit greatly from the approach. Also, the bandwidth situation, for example, on the Xbox One's ESRAM is in a much better situation compared to that of, say, EDRAM on the Xbox 360, which seems a highly complimented aspect of the system's design. Also, even beyond what the bandwidth is for the overall system, or even for just the ESRAM, there will definitely be benefits to it being very low latency. In all the focus on bandwidth, a lot of people are maybe undervaluing the potential benefits of the very low latency of the ESRAM.

That's true, and it would be interesting to compare texturing from one type of memory vs another. But 'conventional' modern designs do carry features designed to mitigate texture read latency that might level that playing field vs a simple comparison of main memory latencies, so I would hazard to guess one way or another without looking at real performance.

What I mean by the bandwidth comment is that if eSRAM was affording a lot more bandwidth than a conventional setup, PRT with eSRAM would give a more obvious benefit of allowing a lot more texture sampling vs a conventional design (in concert, perhaps, with more texture units than Xbox One affords). There'd be a strong obvious case for using eSRAM in this fashion to take advantage of that bandwidth and more texture units, towards texturing goals not so readily achievable on a lower bandwidth setup. Unfortunately using eSRAM here won't buy you sampling capacity that you won't get out of a conventional system.
 
If you wanted to use this before in Direct3D you had to implement your own and do without certain hardware features like texture filtering e.g. do your own filtering in the shader.

When they talk about it being automatic, I assume they mean like the opengl extensions, where you can allocate a texture in the usual fashion and the paging is taken care of for you behind the scenes.



That's true, and it would be interesting to compare texturing from one type of memory vs another. But 'conventional' modern designs do carry features designed to mitigate texture read latency that might level that playing field vs a simple comparison of main memory latencies, so I would hazard to guess one way or another without looking at real performance.

What I mean by the bandwidth comment is that if eSRAM was affording a lot more bandwidth than a conventional setup, PRT with eSRAM would give a more obvious benefit of allowing a lot more texture sampling vs a conventional design (in concert, perhaps, with more texture units than Xbox One affords). There'd be a strong case for using eSRAM in this fashion to take advantage of that bandwidth and more texture units, towards texturing goals not so readily achievable on a lower bandwidth setup. Unfortunately using eSRAM here won't buy you sampling capacity that you won't get out of a conventional system.

You may be totally correct, but there's perhaps a very strong chance you get greatly increased efficiency as a result of the latency benefits which grant major improvements in memory access during memory limited situations. Even with conventional modern designs carrying features to try and mitigate latency issues, I think it might be hard, or potentially even impossible in some instances, for any such measures to ever truly make up for latency gains you'd receive from extremely low latency ESRAM that can be used as a GPU data source.

The big question left and that we can't answer, however, is just how big a bonus is the latency on Xbox One's ESRAM compared to more traditional modern approaches to GPU design? I think I've also done a bit of reading over at b3d where there are potentially instances in which you can expect to exceed the 102GB/s of bandwidth on the ESRAM, or I think get away with using notably less bandwidth than might have otherwise been the case to accomplish certain graphical tasks that are commonly more bandwidth intensive in nature on even stronger hardware. Under these circumstances, if I remember correctly, it sounded as if ESRAM could in the end be a bigger deal for the Xbox One than we were all thinking, beyond just the more common perception (at least by most), that the only area in which it will benefit Xbox One games is just to provide more bandwidth to the GPU. Whatever Microsoft's thinking was in their initial decision to implement it, there are clearly benefits beyond the more obvious.

And keep in mind also when I say this stuff, I'm not speaking in a comparative context to the PS4. I'm speaking strictly about what may potentially end up being design wins for the Xbox One hardware, irrelevant of what was done with any other piece of hardware.
 

cripterion

Member
Don't understand why people are bringing the ps4 into this. What does this mean for current games running under windows 8.1?
 

syko de4d

Member
textures that becomes alot better if you zoom in? Sounds like a good feature for future Oculus Rift with positional Headtracking. But would games not become really big if every texture now becomes super awesome?
 
textures that becomes alot better if you zoom in? Sounds like a good feature for future Oculus Rift with positional Headtracking. But would games not become really big if every texture now becomes super awesome?

I don't think so, as one of the main selling points seems to be using less memory or space to achieve even more impressive results. :)
 

gofreak

GAF's Bob Woodward
You may be totally correct, but there's perhaps a very strong chance you get greatly increased efficiency as a result of the latency benefits which grant major improvements in memory access during memory limited situations. Even with conventional modern designs carrying features to try and mitigate latency issues, I think it might be hard, or potentially even impossible in some instances, for any such measures to ever truly make up for latency gains you'd receive from extremely low latency ESRAM that can be used as a GPU data source.

There's a lot of assumption here.

To put it more plainly, the Xbox One eSRAM set up here would have a latency advantage for texture cache misses.

But in every other capability relevant to PRT it would be inferior - samplers, bandwidth, buffer size flexibility...

Hence it is not obvious to me that it a super design for this feature vs others of comparable cost - that one advantage trumps all the disadvantages. It would be more obvious if the eSRAM setup improved some other metrics too.
 

KKRT00

Member
I don't think so, as one of the main selling points seems to be using less memory or space to achieve even more impressive results. :)

No, it means that You need less video memory to use bigger textures, but those big textures still need to be stored somewhere [normal ram or HDD]. The more detailed world, the more textures You have and higher their resolution then game take much more space.
Its similar to Carmack's megatexturing and RAGE takes over 20gb at crappy resolution textures, but they have a lot of them.
 

ElTorro

I wanted to dominate the living room. Then I took an ESRAM in the knee.
Y
The big question left and that we can't answer, however, is just how big a bonus is the latency on Xbox One's ESRAM compared to more traditional modern approaches to GPU design?

I am no expert on rendering pipelines, so everything I say now might be bull, but as far as I understand deferred rendering (which supposedly benefited from the XBox 360's EDRAM), you need a g-guffer for cached geometry information with a size of at least 12 byte per pixel. (I read that CryEngine 3 optimized its approach to decrease the memory footprint to 12 byte). That would imply a G-Buffer with a size of almost 24MB on a resolution of 1920x1080.

Assuming that you use the ESRAM for the g-buffer (which I read makes much sense), would you even have enough ESRAM left to employ additional techniques efficiently?
 
Top Bottom