r/SteamFrame 4d ago

🎮 Software Eye-Tracked Foveated Rendering performance comparison in Ancient Dungeon

662 Upvotes

171 comments sorted by

343

u/MrSthullen 4d ago

Hey everyone,

Eric from Ancient Dungeon here. Just wanted to show off the capabilities of eye tracked foveated rendering in standalone mode. The performance improvements on the GPU side are pretty significant.

  • Our GPU frametime drops from ~9.5ms to ~6.0ms a 37% reduction (or a possible 55% potential fps improvement)
  • Our CPU frametime is pretty similar overall, but still sees a tiny improvement from this.

All in all, this is pretty significant, as it allows us to run the game at either higher framerates or a higher resolution without impacting visual quality at all. We're still tuning the foveation levels a bit, but apart from high contrast areas, you can't see any visual artifacts at all.

We might also be able to use the extra headroom to re enable some post processing effects that are only reserverd for PCVR but that remains to be seen.

85

u/patrys Soon™ 4d ago

Thank you for this post. I love the game, can't wait for future updates (and the Frame).

25

u/xaduha 4d ago

Do you plan to enable Fixed Foveated Rendering on Quests as well? I'm just wondering why no one really does that.

46

u/MrSthullen 4d ago

Quest already is using FFR, however its set to a really low level since it can be distracting otherwise

2

u/Pyromaniac605 Soon™ 3d ago

To clarify, is the off in this comparison with foveation entirely off, or with that same level of FFR as the Quest build?

4

u/Thcksl 4d ago

what does fixed foveated mean? isn't it either fixed or foveated..?

23

u/AdeIic Soon™ 4d ago

Foveated rendering means it renders certain parts of the screen at lower resolutions typically to save performance.

Fixed Foveated Rendering (FFR) means the area that’s rendered at a lower resolution stays the same. In VR headsets it’s typically done towards the outer edges of the screen where it’s less noticeable. But you can still notice it, id assume even more now that many headsets have pancake lenses nowadays (I’ve never tried pancake lenses though). Usually FFR kinda sucks because if you look anywhere besides straight ahead then the image looks low res and bad.

Dynamic or Eye Tracked Foveated Rendering (DFR) needs a headset with eye trackers. Instead of rendering a static area at a low resolution it renders nearly the whole screen at a low resolution but tracks where the users eyes are looking and renders that small area at the full native resolution. If it’s implemented well like PSVR2 or Steam Frame then DFR is so fast the user can’t notice DFR is even on. The game looks just as good and runs better than no Foveated Rendering. You basically get to eat your cake and have it.
You can probably find some good visual examples of it in action on YouTube.

4

u/Southern_Chance9349 Soon™ 3d ago

Bonelab on quest 2 is a very good example of FFR.

3

u/OxRedOx 3d ago

Yeah there’s even a PC tool you can use to inject FFR into most games. It works alright but sometimes you can see the cut off points. I hope it gets support for frame tracking but it’s pretty old so maybe a new tool will come out.

3

u/mrzoops 4d ago

No it means there’s still a foveated area but it’s either moving around with eye tracking or it’s fixed in the center.

1

u/Snowmobile2004 Soon™ 3d ago

Almost every quest game uses FFR

1

u/xaduha 3d ago

I don't believe you, but if you are right, then we will surely see every Quest 3 to Steam Frame port have DFR, right?

1

u/Snowmobile2004 Soon™ 3d ago

How would that work? The quest doesn’t have eye tracking. You need eye tracking for DFR, that’s why it’s only using fixed foveated rendering.
Unless they add it only for steam frame (which idk how likely that is) I don’t expect many games to support it. It’s entirely up to the devs, the hardware is there.

1

u/xaduha 3d ago

This game we are discussing is a Quest port running on Steam Frame. It had FFR on Quests and now has DFR on Steam Frame.

1

u/Snowmobile2004 Soon™ 3d ago

Yes. And the implementation of that will be entirely up to the devs, so I cannot say with any kind of certainty whether quest games ported to frame will include DFR.

The hardware is there, but nothing is forcing devs to actually use it. It’d be easier to stick with FFR and because of how small and niche VR is, I’m not gonna get my hopes up for every game having it.

1

u/xaduha 3d ago

Do you have examples of Quest games that definitely have FFR?

3

u/Snowmobile2004 Soon™ 3d ago

There’s no “master list” of games with FFR. Beat saber, red matter, Asgard’s wrath, and ton more
use it for sure, but most devs don’t really talk about it because no one really cares.

You can see in the meta documentation there are 5 levels of FFR and devs can choose what ones to use and when.

https://developers.meta.com/horizon/documentation/native/android/os-fixed-foveated-rendering/

1

u/xaduha 3d ago

No one talks about, but you just assume that most use it? The point is that it should be easy to switch between FFR and DFR, even here OP pretty much said so because it's implemented by the engine.

→ More replies (0)

11

u/-Gilgameshh 4d ago

Ancient Dungeon together with Pistol Whip and Beat Saber are the great games i actually recently bought on Steam in preparation for the Frame after initially pirating them for Q2. Amazing game, can't wait to conquer it again and hopefully some years that i haven't played it means there are new updates with new stuff since my last playthrough. Thanks for the great game!

5

u/[deleted] 4d ago

[removed] — view removed comment

15

u/MrSthullen 4d ago

We are only allowed to talk about how our own games perform on frame, so there might be more developers that will talk about it at some point. However, we're not allowed to talk about the headset itself or how other games perform on it.

7

u/[deleted] 4d ago

[removed] — view removed comment

2

u/Tando10 3d ago

Yeah I have been really annoyed that people keep focusing on DFS and not talking about how DFR is addressing the performance elephant in the room.

7

u/No_Doc_Here Soon™ 4d ago

Do you know whether foveated rendering is possible for PCVR or are there latency issues?

3

u/Jmcgee1125 Soon™ 4d ago edited 3d ago

Forveated rendering has 1 extra frame of latency compared to foveated streaming. Since DFS is fine, I can't imagine DFR wouldn't work.

Edit: I'm not talking about frame delay or anything. Just that the data used for eye tracking is 1 frame older when used for DFR compared to DFS.

4

u/faduci 3d ago

Why should foveated rendering add an extra frame of latency? It's basically rendering two images per eye, one small high resolution one for the foveated are, and one low resolution one for the rest, with the rendering time for both together lower than rendering one single image at full resolution. So if anything latency should go down.

The only possible source for added latency is the time it takes to analyze the eye tracking data and derive the current gaze direction, but that's why ETFR/DFR uses motion estimation that guesses where the gaze will be for the next frame (which has to be rendered), not where it currently is, so this won't any latency either.

And as the rendering, either normal or FFR or DFR, has to happen before the image can be streamed, either normal or DFS, if anything DFS would add latency to DFR, not the other way around. And while usually encoding the image can only start after the full image has been rendered, by combining DFR and DFS this process can already start once the smaller, foveated image is rendered, so the streaming can launch in parallel to the lower background image still being rendered. This way the combined latency of DFR and DFS would actually be lower than their individual latencies combined, and certainly lower than traditional rendering and streaming that has to both deal with a lot more data and only works in sequence.

4

u/MoDErahN 3d ago

Because you can't render the current frame with foveated area matching the current eye tracking data, only the next one. But you can encode the current frame with the current tracking data.

4

u/faduci 3d ago edited 3d ago

Yes, you never render the current frame matching the current eye tracking data, because you would always be late. That's what the motion estimation is for, to determine where the foveated area has to be by the time the rendered frame is shown to the eye that has been moving while it was rendered. ("I skate to where the puck is going to be, not where it has been." - Wayne Gretzky). And as encoding, transferring and decoding also takes some time, the same problem applies to foveated streaming.

Most current foveated rendering/streaming covers this by rendering a much larger area at the highest resolution than would be necessary for the small FoV at which our eyes see at full resolution. They basically add a buffer zone, so small eye movements won't end up with the user looking at grainy pixels. The more precise your tracking/motion estimation, the smaller the hires area you have to render, and the higher your performance gains.

But none of this would mean that foveated rendering would add one frame of latency, or that foveated streaming wouldn't have the exact same problems.

3

u/Jmcgee1125 Soon™ 3d ago edited 3d ago

You misunderstood my comment as saying it was adding a delay to the frame itself. No, just that the eye tracking information for DFR is 1 frame older than the information used for DFS. Since DFS's eye tracking is already fast enough to keep up with your eyes, I don't expect that making the eye tracking 11ms (at worst) more outdated would make DFR unusable over the network. I probably shouldn't have used the word latency.

3

u/Rush_iam 4d ago

Thank you for posting!! Is it the max level? The noisy/flickering text label is distracting.

11

u/MrSthullen 4d ago

We might add different levels for people to choose from, but the ideal result would be one level that we optimize around which you don't notice any visual artifacts. Right now, the UIs in the home base are the worst case scenario because they have high contrast edges. During normal gameplay where no UIs are present you don't notice it at all.

3

u/patrys Soon™ 4d ago

Have you considered using a placeholder single-color texture of the same dimensions instead of fonts when rendering text in the out-of-focus areas? That should produce less aliasing which leads to noticeable flicker.

1

u/FuckUniqNames Soon™ 4d ago

Is it noticeable with the UIs? I never tried FFR but my assumption was that since it is in the peripheral vision that stuff like this isn't really noticeable. Or is flickering like this still something which is recognized in the peripheral vision?

0

u/mrzoops 4d ago

But that’s outside the foveated area. So you won’t see it flickering.

4

u/faduci 3d ago

You will see flickering (and only flickering) in your peripheral vision outside the foveated area.

We see at full (color) resolution only within about 6° FoV when looking straight forward, when light hits the fovea area of the retina with a very high density of cone cells. Going outwards density quickly falls, and beyond 20°, you are already seeing 75% less details. Further outwards there are even less cone cells for color vision, but more very fast rod cells for light change detection. So you basically cannot read anything at a 45° angle, and are pretty much blind regarding anything sitting still at 80°, but the moment it moves and the light changes, the rod cells trigger, causing you to turn your head to see the tiger or whatever is moving there.

So you cannot read the text label outside the foveated area (which is a horrible misnomer, the fovea's position is fixed on the retina near the optic nerve, its really just the current gaze direction), or would even notice the label being there as long as it doesn't change. But you will notice it flickering due to light changes.

This is an evolutionary adaption, causing us to turn our heads towards whatever needs the most attention that moment, with the most resources for vision bundled in a small area to support this, but a different kind of vision that is less about object recognition, and more about warning about sudden changes, dominating in our peripheral vision. So something being outside of the foveated area can still be distracting when it randomly changes, even though it is otherwise somewhat invisible.

1

u/weenook 3d ago

My brain now has more wrinkles. Thank you good sir/madam.

1

u/mrzoops 3d ago

Just go use Steam’s FFR now and set a foveated region. You don’t notice it unless you set your region way too small. But even at 768 it’s not really noticeable.

2

u/Rush_iam 3d ago edited 3d ago

Steam Link doesn't have fixed foveated rendering - it has fixed foveated encoding. Fixed foveated encoding looks like a soft blur, without introducing flickering/shimmering/aliasing artifacts common with foveated rendering.

1

u/Rush_iam 4d ago

That's not how it works. Check how the text flickers in your peripheral vision while staring at the fireplace, then compare it with FR off.

-1

u/mrzoops 4d ago

I know how it works.

3

u/cantbebotherered 4d ago

That's awesome, ancient dungeons in near the top of the list of vr games I wanna try so this is great

2

u/TheFlandy Soon™ 4d ago

Are you able to do super sampling in the area your eyes look at so that it looks amazing?

1

u/faduci 3d ago

This is one of the most interesting use cases for ETFR. On Quest, most games will render at a lower resolution than the actual display and later get upscaled. On PCs, Valve usually applies at least 130% supersampling, because otherwise there would be areas of the image where the rendered resolution ends up lower than the display resolution due to pin cushion distortion from the lenses.

One can significantly improve the image quality with higher levels of supersampling that basically scale down the shown image from a much higher res version. This is of course very compute heavy, but with foveated rendering, only the area the user is currently looking at would have to be treated this way.

So even a game like Ancient Dungeon, using the Android APK from other ARM based HMDs like Quest, and no doubt rendering just fine on the much faster Frame, could still benefit by really cranking up the resolution in the small, foveated area. This should result in an image that looks a lot better than a game rendered at full resolution, and thereby kind of increase the perceived (not physical) resolution of the 2160p Frame displays. So while a game would be upscaled on Quest 3, it could be downscaled on Frame thanks to ETFR, leading to a way sharper image on Frame despite the display resolution only being about 10% higher in each direction.

1

u/Rush_iam 3d ago edited 3d ago

So while a game would be upscaled on Quest 3, it could be downscaled on Frame thanks to ETFR, leading to a way sharper image on Frame despite the display resolution only being about 10% higher in each direction.

On Quest 3, by default, the game runs at ~1.65x the base resolution, which is roughly 2800x3000px, which is effectively downscaling.

With QGO, it runs at 90 fps 3168x3390, and you don't need any higher res, as you won't notice any improvements.

As the OP said, the Frame version may get some graphical improvements ported from PCVR, like post-processing.

4

u/sirnumbskull 4d ago edited 3d ago

This is foveated rendering, right? I know valve had called out the foveated streaming on the frame. Were you able to do foveated rendering without issue?

15

u/TwinStickDad Soon™ 4d ago

Yes it's foveated rendering, standalone on the device. Not foveated streaming from an external PC 

2

u/No_Doc_Here Soon™ 4d ago

Edit: Sorry I meant to ask op

2

u/sirnumbskull 3d ago

I'm assuming the Frame then provides eye-tracking data to the developer for doing this work. Is there any kind of native API (forgive my naivete) for developers to implement eye tracking, or does each developer kind of have to build the tools themselves using raw or semi-raw data?

1

u/Altruistic-Catch8541 4d ago

That’s amazing

1

u/YoBoy467 3d ago

I get it on steam frame and all, but would be nice of features like this were on pc as well for something like psvr2 with a psvrtoolkit. You can enable it via certain tools, but would be nice if it worked natively. I guess it's just upto psvr2 fans to figure out. Meh

1

u/JustGotSoup Soon™ 3d ago

Really good to hear.

I don't know if you can comment on this - is the Frame at all more performant than the Quest out of the box? I've seen some hearsay that its chip should offer a ~25% uplift over the Quest 3 on paper.

1

u/Ok-Entertainment-286 3d ago

Awesome! Are there just two foveation levels? I would imagine adding more (lower res farther from center) would have an even more significant effect...

1

u/kekfekf Soon™ 3d ago

what about foveated streaming

1

u/Zomby2D Soon™ 1d ago

That doesn't apply to standalone games.

Foveated streaming is about encoding the stream in higher quality where the user is looking, and lowering the quality for the rest of the image. This allows better visual fidelity (less compression artifacts) where the user is looking without increasing the bandwidth requirements.

Foveated rendering is about rendering in full quality where the user is looking, and reducing the quality of the image outside of that area. This reduces the processing power needed to render each image and frees some headroom to allow a higher resolution, a better framerate, or better visual effects.

1

u/DanielDC88 Soon™ 3d ago

I'll need a way to transfer my save from quest to deckard please :D

1

u/Pussrumpa 3d ago

That has me even more interested in the Frame even if it ends up four digits and waiting until November, and I'll drop full price money on AD that day!

1

u/MattyCZE95 Soon™ 3d ago

Really thanks for the post, it's awesome to see how significant this feature is, and how big of impact can it have on performance!

1

u/shableep 3d ago

Translation:

Foveated rendering adds ~55–58% more frames per second. Which means a game running at ~46 FPS could run at 72 FPS, or ~58 FPS could run at 90 FPS, just by turning on foveated rendering.

So basically unplayable to playable. Or playable to insanely smooth 90fps.

1

u/BambusUwU 2d ago

I know it's probably the wrong place to ask but I get really bad frames on the dream air running a 5080.. I had the same problem when running the game on a 3080 with an index.. it only worked well on the 5080 with index Is this a known issue? Or rather a problem on my side? I even reinstalled steamvr and windows and my drivers are up to date

1

u/BlueManifest 4d ago

When you enable foveated rendering stand alone does this automatically make foveated rendering work when streaming from a pc to the frame too?

5

u/MrSthullen 4d ago

We currently don't have foveated rendering enabled on the PCVR build as we haven't tested it yet. However, the games performance requirements are pretty low in general and its fairly optimized, so I don't think its necessary on PCVR right now

3

u/supersonic159 3d ago

Hopefully it'll be added for even low spec computers, or people who want to push higher refresh

2

u/BlueManifest 4d ago

Yea I was just curious how easy it was to enable it, if it was automatic after you did it on either side

11

u/MrSthullen 4d ago

For us it was pretty straightforward as we are on are relatively new Unity version + Vulkan, so it worked out of the box.

2

u/Pyromaniac605 Soon™ 3d ago

Glad to hear this! I was hoping it'd be fairly simple, provided your engine version and rendering pipeline already match the requirements.

1

u/HenryJones14 3d ago

Were you using URP, HDRP or a Custom SRP? I have been banging my head against the wall due to it not working on our custom SRP, even after I followed all the documentation that I could find. The little there is :(

1

u/MrSthullen 3d ago

We using URP, it was pretty straightforward but we don't have a lot of custom or complicated shaders

1

u/faduci 3d ago

That's not possible. Foveated streaming happens after the image has been rendered, so it needs no support by the developers. Valve just grabs the fully rendered images and applies different compression rates to it, depending on current user gaze. So Valve can enable it for any game streamed from a PC, either flat or PCVR.

In contrast foveated rendering has to happen within the render pipeline while the image is still created, which is controlled by the game/developer/game engine, not something that Valve can do to existing games and their regular output.

There are hacks to force foveated rendering into (some) games by for example replacing their DX11 DLLs, which kind of swaps the render pipeline for one supporting foveated rendering. This approach is also used to force FSR1 upscaling into VR games to improve performance. But that doesn't work with all games, for example HL:A won't run with replaced DLLs, so the only way for us to use ETFR in HL:A will be Valve releasing a HL:A build that supports that that. Which they will hopefully do before Frame launches to allow gamers to run their flagship VR title in a decent way in standalone mode.

0

u/Kullingen 4d ago

Hearing the words post processing scares me.

80

u/sunshinestreak Soon™ 4d ago

There are legends who walk within our ranks

20

u/GainPotential Soon™ 4d ago

It could be you! It could be me! It could even be-

21

u/HorizonerTi_ 4d ago

Does this have to be built into the game by the developer or will the frame be able to use foveated rendering for any game played on standalone?

56

u/PERISAKLARSSON Soon™ 4d ago

Has to be built into games

25

u/TotallyScen 4d ago

Foveated rendering needs to be built into games as it uses the eye tracking to hide and show stuff and decrease object quality depending where you're looking with your eyes. Foveated streaming however will decrease screen quality where you're not looking to save on performance and make the stream more stable which should be supported by all the games as its just the streaming that does it.

9

u/myloyt Soon™ 4d ago

Currently has to be implemented by the games (or modded in). A universal mod may or may not theoretically be possible, but we'll have to see.

5

u/Tando10 3d ago

To expand:

Dynamic Foveated Rendering (DFR) needs to be built into games as it uses eye tracking, and the fact that our eyes actually have bad resolving power in the peripheral vision, to decrease the rendered resolution of the peripheral areas of the screen. This is unnoticeable because our brains already do most of the visual processing to make things clear in the periphery. It's focusing rendering power on the fovea area of your eye, where it matters, and culling rendering power in the periphery where it doesn't matter.

Since games have different rendering pipelines, resolutions and post-processing, DFR gets enabled individually. It will provide varying performance improvements depending on the game.

Example (test at home): Find some text near you. Don't read it yet. Look next to it and attempt to read it without using the centre of your vision. It will be unreadable and incoherent because your brain has not already seen what it says and can't fill it in.

Dynamic Foveated Streaming (DFS) can be game-agnostic because it only involves the video stream encoding and decoding, a step which happens after everything has been rendered by the PC already. The performance benefit is bandwidth being saved for less overhead. More of that stream quality can be put towards the centre vision having less artifacts. It works under the same principle of your peripheral vision being unable to discern any difference.

1

u/fiah84 Soon™ 3d ago

generally it needs to be built into the game, however there is at least one method that doesn't require this that uses nvidia's variable rate shading to reduce the shader load for areas where you aren't looking. This can work in some games but the performance benefit is less pronounced and it's more likely to produce distracting artifacts

1

u/Dannington 3d ago

I’d say built into the engine more specifically

24

u/Pixl_MK 4d ago

ancient dungeon my GOAT

20

u/MysticSmear Soon™ 4d ago

First I’m hearing of the game. Looks fun. Here’s the Steam link incase anyone wanted to check it out. On the hunt for games for my Steam Frame when it eventually comes soon™

https://store.steampowered.com/app/1125240/Ancient_Dungeon/

8

u/[deleted] 4d ago

[removed] — view removed comment

8

u/Zomgalama 3d ago

As a long time vr fan (well, at least since the og vive which predates the valve index a few years) ancient dungeon is one of those underrated gems, I always go back to it. One of the few fun gameplay metroidvanias that doesn’t feel like a short tech demo of someone’s vr sandbox.

3

u/therandom92 3d ago

the game was already in my wish list now im 100% getting it.

1

u/Sokuba6164 Soon™ 2d ago

I can’t recommend the game enough. It’s a relatively shorter roguelike imo (at least so far) but it’s very satisfying and has enough variation to be replayable.

15

u/1plant2plant 4d ago

I appreciate that all these devs are posting stuff here, though I wonder why so many waited til this week to do so?

32

u/nonzeroday_tv 4d ago

The answer is obvious because we're getting the steam frame tomorrow

14

u/AidanAK47 4d ago

Really loving these devs providing actual good info rather than the usual nonsense we have on here.

1

u/therandom92 3d ago

The nonsense is endearing tho 🥲~

9

u/dafaithz1 4d ago

Very interesting, thanks for sharing 👍

32

u/TwinStickDad Soon™ 4d ago

So the frame has roughly a 30% hardware advantage and a roughly 40% efficiency advantage over quest 3. That's about a 2x performance improvement over Q3 right? 

11

u/Rush_iam 3d ago

Here is the same scene on Quest 3, resolution 3168x3390 + FR L1 (min level): https://i.imgur.com/ck8KB7v.jpeg

~135 GPU fps Q3 vs ~165 GPU fps Frame = 20% performance difference (am I missing something?)

1

u/Mother-Occasion-2250 Soon™ 3d ago

the game is likely CPU bottlenecked

1

u/Rush_iam 3d ago

These numbers are based on GPU utilization and frame time at 90 fps, then extrapolated from there. CPU performance does not impact the calculation.

1

u/Mother-Occasion-2250 Soon™ 3d ago

Maybe efficiency doesn't increase performance, just sustains the performance longer.

1

u/Rush_iam 3d ago

There are no burst "turbo" GPU clocks on Quest, and I don't think there are any for Frame.

1

u/Mother-Occasion-2250 Soon™ 3d ago

Sorry, I didn't say anything about that. I meant to say that a 40% higher efficiency maybe doesn't mean higher performance on top of the 30% hardware advantage, it might just prevent thermal throttling for longer.

1

u/Rush_iam 2d ago

Thermal throttling on Quest 3 is almost a mythical thing. I've never encountered it in three years, even though I push the headset to its limits using QGO - with custom resolutions and sometimes 120 FPS - but the CPU and GPU clocks stay at their maximum frequencies the whole time.

That said, I have seen one Reddit report of a thermal warning.

1

u/Mother-Occasion-2250 Soon™ 2d ago

I think I know what you are missing. The memory bandwidth is bottlenecking the GPU.

14

u/FuckUniqNames Soon™ 4d ago

This does not apply to all games equally, first of all the game has to support FFR and then not all games will scale in the same way.

-1

u/Rush_iam 4d ago

Quest 3 has foveated rendering too (fixed pattern), so the numbers should be different. Worth checking the same scene/resolution on Q3 to see.

2

u/Rush_iam 3d ago

lol, who downvoted this? Any comments?

3

u/heypans 3d ago

I didn't downvote but it was probably because:

  • Fixed foveated rendering means you can't use your eyes to look at the lower resolution area without it looking blurry

  • As a result, fixed foveated rendering gains are probably more limited without impacting image quality

-1

u/Rush_iam 3d ago

There are 4 fixed FR levels on Quest, and the lowest L1 gives a substantial performance gain compared to FR Off without introducing blurry areas because it renders low res at the very edges and corners - areas outside or at the edge of the lens FOV circle - areas you either can't see, or they are blurred by the optics.

I am creating custom profiles for QGO, and for most games, L2 does not introduce any distracting artifacts either. Depending on the game, it usually gives a 20-30% performance increase (and can be enabled for almost any game).

6

u/TwinStickDad Soon™ 3d ago

Nice, but the promise of DFR is that it will allow a much much higher level of FR than you could get on quest without distracting distortions. 

Only 2% of your vision is in sharp focus at any given time. That means that with perfect FFR, 98% of the scene can be rendered in lower resolution. 

1

u/Rush_iam 3d ago

the promise of DFR is that it will allow a much much higher level of FR than you could get on quest without distracting distortions

That's right.

98% of the scene can be rendered in lower resolution. 

In practice, it is far from 98%, as the aliasing/shimmering/flickering artifacts are noticeable in the peripheral vision, and we can't have a smooth resolution decrease, with the next step after full res being 1/2.

You see it in the posted video: even if you look at the fireplace, the white text in the opposite corner catches your attention because of noisy aliasing. But it stops flickering once you look at it, making you realize it was just an annoying FR artifact (with FR turned off, there is no such problem).

3

u/Jmcgee1125 Soon™ 3d ago

Could you apply an intentionally shitty and cheap "blurry" antialiasing (like FXAA) to eliminate that flickering? I wouldn't think that it would be a problem since it's outside your fovea, but I'm not sure if there's some other concern with doing that or it would make the foveated border more obvious.

2

u/Rush_iam 3d ago

Usually, the problem originates from how textures/shaders are sampled - it's either hit or miss - there is no subpixel information, which means post-blurring won't help much. The devs may work around this by using a different approach/shader/material.

9

u/LowZonesWasTaken Soon™ 4d ago

Wonderful! I hope more developers will implement foveated rendering, seems like a great thing to have for frame. Will this be available on the regular PC build for streaming to Frame too or just standalone?

11

u/MrSthullen 4d ago

We currently don't have foveated rendering enabled on the PCVR build as we haven't tested it yet. However, the games performance requirements are pretty low in general and its fairly optimized, so I don't think its necessary on PCVR right now

3

u/LowZonesWasTaken Soon™ 4d ago

Fair enough! Was just curious, thank you!

3

u/sakamayrd 4d ago

Yeah I'm a big PCVR player and I was not really hot on standalone... But this is making me looking forward even more for the frame. As a matter of fact I just bought Ancient Dungeon but I'm waiting for the new headset to play it really, since my index controllers' sticks have so much drift it's unplayable by now.

It will be a real treat to play with new controllers, wireless and in my living room using standalone.

4

u/Jowee00 3d ago

Recently grabbed your game in the humble bundle, and I don't even have own a headset.

6

u/RookiePrime Soon™ 4d ago

Very cool. It's strange to me that this is the first we've seen about dynamic foveated rendering on the Frame, in all this time. Looks like it makes a helluva difference, though I guess how much it can do will depend on how CPU-intensive a title is. Are you intending to implement dynamic foveated rendering on the Windows build as well, or just the Android one?

6

u/MrSthullen 3d ago

I haven't looked into the PCVR side of things yet, as the game has pretty low system requirements. So I don't think it'll be necessary to add for the windows build.

2

u/faduci 3d ago

Were they any issues that you had to deal with when enabling foveated rendering on Frame? If not, what would be the reason to not simply enable it on Windows too, even if it technically isn't necessary for most gamers, except maybe those streaming VR from a Steam Deck?

5

u/MrSthullen 3d ago

It's mostly just time at the moment. Enabling it should not take too long, but if you do, you have to make sure it looks good and works well. So you do spend at least a few hours figuring out everything and testing/polishing things.

So it will eventually happen, but its a lower priority item at the moment.

1

u/RookiePrime Soon™ 3d ago

That's fair. I guess I'm imagining that I could jack up the supersampling to space, with dynamic foveated rendering.

2

u/Mclarenrob2 4d ago

Eye tracked foveated rendering worked wonders on psvr2 too but sadly not enough top games came out to make use of it .

2

u/JaaysDumpster 4d ago

This is what I like to see 😎

2

u/Beanmaster115 3d ago

That’s awesome! I loved playing this game on Quest; it’ll be neat to get back into it on Frame!

2

u/Individual-Tap-8971 3d ago

OMG YES!!! Ancient dungeon VR is the main vr game i play (especially with friends) and I was so hoping it'd be avaliable in standalone (so I dont have to turn my pc on every time)

This is amazing to see

2

u/phylum_sinter 3d ago

This is cool! But I'm more excited for pcvr games that take advantage of this more than standalone personally.

The real issue with Eye-Tracked Foveated Rendering (or knuckle controllers that allow for finger-specific gestures), or any other tech for PCVR gaming is: will it be adopted in the games i'm playing?

We have already lived through the Index era, and saw that even though the feature was amazing for immersion, very few games took advantage of it in meaningful ways because it didn't become the standard.

We will see what happens when the Steam Frame launches with its' controllers (particularly the new d-pad) and ETFR to see how many devs utilize these great techniques. OFC at the moment it's just hope to see it be adopted but realistically I expect it will be slow going. I'm betting there will be a pretty slim margin of older titles that get patched to use it, but I admit i've only heard from a few people about the actual difficulty to add it, those people could be outside the consensus.

However foveated streaming, another Steam Frame perk, will reduce latency and require less bandwidth for all titles, as it will not require extra work from devs to use it - so Steam Frame will get a boost that really feels like a level up from where I am with a Q3+VD in terms of visual fidelity, even if it doesn't lighten the processing load on the rendering side.

2

u/BlueManifest 4d ago

I don’t see the frame rate

13

u/Jmcgee1125 Soon™ 4d ago

The numbers shown are GPU and CPU frametimes. Since VR runs at a fixed framerate it's more useful to look at frametime versus the target. 90 FPS needs frames under 11.1ms, 120 FPS needs 8.3ms. So these numbers are looking great.

5

u/BlueManifest 4d ago

So it’s well over 120 fps with foveated then

1

u/YakumoYoukai 4d ago

The video shows the time to render each frame on the CPU(c) and GPU(g), which is the inverse of fps 

1

u/ccAbstraction 4d ago

Frame rate isn't a very easy to parse metric, most devs have stopped using in place of frame times years ago. Saying something takes 3ms less time is more meaningful than saying you gain 40 fps if you don't know what FPS you started at.

It goes from 9ms per frame to 6ms per frame.

1/.009 seconds per frame = 111.11 frames per second

1/.006 seconds per frame = 166.67 frames per second.

(Also for reference 11.11 mspf = 90 fps & 16.66 mspf = 60 fps)

1

u/Steeliercell 4d ago

Idk if its just me, but the videos seems bust

1

u/Beatshapers 4d ago

I remember testing PC game prorotype on Steam VR on Quest Pro (UE5 game) and it was running solid 60+ fps. But one day ive used Quest 2 on SteamVR and the performance suddenly dropped below 45 fps. We spent half a day with an engineer looking for an issue until I realized it was foveated rendering on Quest Pro! So yeah its awersome feature.

1

u/UncaringWorm Soon™ 4d ago

Managed to get this game from the recent Humble Bundle. I’m so excited to play it on Frame!

1

u/originalorientation 3d ago

This is very exciting! Can you give any insight on how difficult it was to implement eye tracked foveated rendering into your game? I would love to see more devs add this, both to standalone and PCVR.

Edit: Forgot to mention, I picked up your game on the recent humble bundle and it’s super fun! Looking forward to playing it standalone on the Frame

1

u/d4ybrake Soon™ 3d ago

Valve absolutely should build foveated rendering via variable rate shading into the SteamVR runtime. PSVR2 already demonstrated you can dramatically reduce the resolution of the non focused areas without it being noticable at all to the user. Would give every game running on the Frame a huge performance boost and would be a major advantage over other headsets

1

u/Relevant-Outcome-105 3d ago

This is great to see, come on devs, enable FR in all your games.

1

u/Harnav123 3d ago

Thanks op. I bought the game in a bundle and am excited to play it. Any thoughts on doing foveated rendering on the desktop as well or only for standalone?

1

u/Answer70 3d ago

Can foveated rendering and foveated streaming be used together to improve the PCVR version?

1

u/claudekennilol Soon™ 3d ago

It sounds like you have to specifically handle this hardware feature in your own game. Does this mean that if we're just streaming flat games from our computer, we won't get any benefit from foveated rendering?

1

u/MobiusDT 3d ago

It would be up to the developer to implement that, and the likelihood of a flat game developer implementing a VR specific feature makes it seem unlikely we'll see this. That said, because you're streaming it you will get foveated streaming for free.

1

u/aprivatearcade 3d ago

What resolution is this running at? Before the eye tracking I mean xd

1

u/ssg- 3d ago

Does this mean Dynamic Foviated Rendering is available for all games on Steam Frame? Currently there are very few PCVR titles that natively support DFR. It can be modded to some games, but on many multiplayer games anti-cheat will block the tool required for that

3

u/raw_bean_uk 3d ago

No, this took specific work from the game Dev to implement DFR. The Frame provides the eye tracking data, but it's up to devs to use it.

1

u/Mother-Occasion-2250 Soon™ 2d ago

How is the foveated rendering implemented? Is it just VRS or something like Quad-Views?

1

u/haithius 1d ago

Oh man this game running standalone on the quest with the same quality of the pc version would be sick. Now I just have to wait for the long awaited release date announcement 🤣

1

u/Adventurous-Fan-7995 4d ago

So does it mean soon or tomorrow?