• 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.

PS4 ICE Team Programmer: ‘Surface Tiling/Detiling On The CPU Is 10-100x Faster Now’

viveks86

Member
Sony’s ICE team programmers are basically a bunch of talented developers that work on the core graphics technologies for the PS4. One such developer is Cort Stratton who is a senior programmer on Sony’s ICE Team.

On his Twitter feed he revealed a few interesting tid-bits about PlayStation 4 games development and how his recent contributions will make things run faster.
“Finally wrote that ASM I was looking forward to. Early results: PS4 surface tiling/detiling on the CPU is ~10-100x faster now. SIMDlicious!.” he Tweeted.

Stratton wrote a code that will push tile performance on the PlayStation 4′s CPU by 10-100 times faster. Note that improvement in performance will result into tiles being switched faster which also means less processing time. But the developer also needs to use the appropriate tile size since larger tiles will obviously use more processing time. It’s a balance, you see.

He also revealed that the previous code was bad and was a just copy reference from the hardware documents. “It was pretty bad. Pretty much a copy of the reference code from HW docs, evaluated in full per fragment with a memcpy at the end,” he tweeted.

More info at source: http://gamingbolt.com/ps4-ice-team-programmer-surface-tilingdetiling-on-the-cpu-is-10-100x-faster-now

I sort of understand, but I'm not technical enough. Can someone highlight some in-game examples where this would benefit performance?


The author's article got it wrong.

Surface tiling most probably refers here to the subdivision of geometric objects into smaller geometric objects.

"Tiling" is generally a term that easily leads to confusion since it refers to very different things in different contexts. Another common confusion is the equivocation of tiled-based rendering with tiled resources.
 

Tsundere

Banned
1000 to 10000 % performance boost on tiling is really good, and it also shows how bad the original code was for that...
 
He's my favorite ICE guy on twitter to follow. Responds to questions and openly bantered back about the "we created DirectX" stuff.
 

hawk2025

Member
Is there any way to ask him (or anyone else on the ICE team) about the possible AF issues on Outlast, Thief, and Strider?
 
Explain like I'm five, anyone? What teh fuck is a tile and why is it important that they get written faster now. What will the end benefit be for the gamer? What will we see now that we wouldnt have prior to this?
 
Is there any way to ask him (or anyone else on the ICE team) about the possible AF issues on Outlast, Thief, and Strider?

This. I'm really curious why this is happening. I wish I can find the posts from the PS4 reveal thread. I recall several posters pointing out how the specs would some how result if insufficient AF in most games.
 

LiquidMetal14

hide your water-based mammals
Expect improvements to come in stride for PS4. I like that it's built and obviously not even fine tuned yet.
 

viveks86

Member
Easer fetching of textures. Instead of requesting full texture, engine can requrest only parts that it needs [that are visible].

Does it turn out to be a bottleneck often?

Explain like I'm five, anyone? What teh fuck is a tile and why is it important that they get written faster now. What will the end benefit be for the gamer? What will we see now that we wouldnt have prior to this?

Think of a large texture that needs to be mapped to an object on screen. Tiling allows you to fetch only portions of that texture that are currently visible. This can dramatically reduce bandwidth and memory requirements. From DieH@rd's comment, it seems like the CPU does the fetching and the GPU renders it. So improving the fetch performance could potentially eliminate a major bottleneck.
 

Havel

Member
Guys.

B334tEz.png


https://twitter.com/postgoodism/status/440665342025539584
 

Gavarms

Member
Is there any way to ask him (or anyone else on the ICE team) about the possible AF issues on Outlast, Thief, and Strider?

He answered that
‏@PaulMusings 18h
@postgoodism Hello.May I ask why PS4 seems to be struggling with AF? With AF being a modest hit on modern GPUs,I thought 16AF would be stand

@postgoodism 15h
@PaulMusings No hardware/SDK issues that I'm aware of. Sounds like a question for the developer.
 

Tsundere

Banned
I sort of understand, but I'm not technical enough. Can someone highlight some in-game examples where this would benefit performance?
Think he's talking about rendering.
Tile-based rendering is a promising technique for low-power, 3D graphics platforms. This technique de- composes a scene into smaller regions called tiles and ren- ders the tiles one-by-one. The advantage of this scheme is that a small memory integrated on the graphics accelerator can be used to store the color components and z (depth) val- ues of one tile, so that accesses to these values are local, on- chip accesses which consume significantly less power than off-chip accesses. Tile-based rendering, however, requires that the primitives (commonly triangles) and state changes are sorted into bins corresponding to the tiles. In this paper we determine the optimal state change operations (e.g., en- able/disable z testing, create/delete a texture) that should be included for each tile. Experimental results obtained using several suitable 3D graphics workloads show that various trade-offs can be made and that, usually, better performance can be obtained by trading it for memory.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.77.731&rep=rep1&type=pdf
 
Tiling refers to how texels in a mip plane are not organized linearly but instead in blocks; linear layout of memory would have incredibly poor coherence when sampling if that were the case. Some tiling modes are considered more efficient for rendering vs sampling, which impacts decisions for layouts for eg shadow map targets which are used in both manner.

It's fairly rare/unusal to be updating textures at run-time on the CPU outside of small volume textures for low-resolution lighting or post-process color look-up tables. Thus this isn't a terribly interesting advancement per se. That said Cort is an awesome guy.
 

omonimo

Banned
This. I'm really curious why this is happening. I wish I can find the posts from the PS4 reveal thread. I recall several posters pointing out how the specs would some how result if insufficient AF in most games.
AF it's the last of the problems. More curious how the developers can't handle 30 steady fps on UE3 with 179 Gb of bandwith & 6 gb of ram coming to ps3. It's astonishing.
 

Tsundere

Banned
Yeah I understand tile based rendering. Was wondering what portion of that is CPU dependent and how much a 10-100x improvement on the CPU portion of it would affect the overall rendering process.

I suppose being faster implies that those CPU cycles free up quicker and can be used for other things.
 

DinHerio

Banned
16xAF costs maybe ... 3 frames? I never noticed an impact on the frames per second in any game. 4xMSAA, 16xAF, 1080p & 60fps should be standard. As soon as this is going to happen, I'll buy a console again (so, waiting for nextgen already). Not for the graphics, but for the IQ. A sharp, crisp and fluid image. Graphic details come next.

Will be more like 1440p @ 30fps + FXAA, I guess. :<
 

DieH@rd

Banned
This was not possible until now?

Is this as significant as it sounds?

Its a standard DX feature that was present in hardware [AMD at least] looong before "engeneers who created DirectX" finally remembered to implement it officially for PC users.

Nextgen consoles support this from start via their own APIs.
 

AlStrong

Member
Tiling refers to how texels in a mip plane are not organized linearly but instead in blocks; linear layout of memory would have incredibly poor coherence when sampling if that were the case. Some tiling modes are considered more efficient for rendering vs sampling, which impacts decisions for layouts for eg shadow map targets which are used in both manner.

It's fairly rare/unusal to be updating textures at run-time on the CPU outside of small volume textures for low-resolution lighting or post-process color look-up tables. Thus this isn't a terribly interesting advancement per se. That said Cort is an awesome guy.

Kinda figured he was talking about swizzle/unswizzle. Thanks for that.
 

viveks86

Member
Tiling refers to how texels in a mip plane are not organized linearly but instead in blocks; linear layout of memory would have incredibly poor coherence when sampling if that were the case. Some tiling modes are considered more efficient for rendering vs sampling, which impacts decisions for layouts for eg shadow map targets which are used in both manner.

It's fairly rare/unusal to be updating textures at run-time on the CPU outside of small volume textures for low-resolution lighting or post-process color look-up tables. Thus this isn't a terribly interesting advancement per se. That said Cort is an awesome guy.

I see! Thanks!
 
Faster "now" compared to when? Is he saying these optimizations will make it into a future PS4 firmware update? Or a future hardware revision of the console? Or the optimizations are already there?
 
Top Bottom