#▫️Cyberpunk 2077 Ultra+ 2.13 Patch Patch Patch Patch

1 messages · Page 2 of 1

hybrid violet
#

Ah I’ve just been copying the original formatting

real ravine
#

CTRL + SHIFT + I in vscode

hybrid violet
#

I’ll do that now

#

I just need to sort out the timer issue that’s popped up all of a sudden

#

Once that’s sorted ReGIR is golden

#

I'm quite proud overall of ReGIR Insane, its probably the highest quality I think PT can do right now with quantifiable gains

#

moreso its designed around 4k Balanced, so 1440p Balanced should be doable for 4080's, 4070's. 4k Performance as well for a 4080 easily

#

ReGIR Low should be an interesting choice, I think it can easily replace PT 2.0 for the most part, ReGIR Medium should also be playable for most GPUs

#

High imo, if you can go Insane do it and otherwise bank Medium performance probably, High is just for those who are FPS sensitive

hybrid violet
real ravine
#

do you have this extension installed?

hybrid violet
#

nope

#

honestly never used Lua before this, more of a C/C++/Python fan

#

easy enough tho

real ravine
#

install it, otherwise vscode thinks lua is just text xdd

hybrid violet
#

hmm

#

still not doing anything

real ravine
#

maybe you've got other keybinds, right click inside the document and you should have the "Format Document" option

gritty geode
#

oh great! ty 😊

#

what theme are you using?

real ravine
#

it was a screenshot from inside the github's diff

gritty geode
#

i'll try and get a super fast mode working again tomorrow

#

without spatialnumsamples

#

i don't think they're needed

gritty geode
#

"insane" users tend to be like "hit me!!!" ... they were the people turning on RT skylight and RT water in Hogwarts Legacy and getting 70 fps on a 4090 😂

#

high are like "i want insane settings but 100+ fps!"

real ravine
#

have you tried xess 1.3 in cp77 yet?

gritty geode
gritty geode
real ravine
gritty geode
real ravine
# gritty geode oh, no! how is it?

pretty damn good. i dont like upscaling as a solution for gaining fps because devs cant optimize their games. i also dont like FG. FSR has no native resolution rendering, maybe it works with CyberFSR and a custom resolution, but FSR2.2 has a lot of shimmering. i really liked how xess looks overall, it also removes TAA which makes the game look like you have myopia. previously xess 1.2 had some weird ghosting issues, mostly trails. if it rained you had static vertical lines all over the screen xd. now with 1.3 the quality is way better, didnt see any imposing trails from ghosting as in 1.2, they've added native AA and it works way better than TAA + way better performance

real ravine
#

im not trying to fix hogwarts, im not into playing games that much, i only like to fuck around with mods and reshade

gritty geode
#

all good, hogwarts is fixable, it's a pain in the butt though

real ravine
#

since the game doesn't stutter on a lower spec PC of my gf

gritty geode
#

they have a lot of their own UE plugins (or warner bros plugins) in there and i don't like a lot of them

gritty geode
#

I would have to see some footage even on a phone to tell you how to fix it, but I'd be surprised if it's not fixable.

real ravine
#

not worth the effort to fix a broken tech demo 🤣

gritty geode
#

most of Hogwarts issue stemmed from trying to keep the streamer cache 95% full at all times. so when it needs to stream new assets they have nowhere to go

#

also FG works really nicely on Hogwarts. it's very very smooth. unfortunately LukeFZ's FG breaks the FSR1 de-dither pass I've hacked in there but it's fixable with Reshade. Luke isn't sure why it's disabling FSR1

#

the games companies have been treating streamer caches like "caches" for years... the reality is it's somewhere between a buffer and a cache

#

a better name for it would be a "transmutation streamer" and not call it a cache at all

#

that reminds me I'm supposed to send an email to Epic on this topic 😂

hybrid violet
#

wasnt the HDD mode thing that fixed it, def that culling parameter

#

and formatted too

#
PrecacheDistance = 20.0
MinStreamingDistance = 40.0``` I think this is a good setting, 50/60 push PT too hard imo
#

I'd rather boost MaxNodes for more lights/geometry

hybrid violet
#

oh also my Override (its the sole INI I'm using)

#

to trigger ReGIR

shadow heath
#

REGiR is an improvement over Restir?

hybrid violet
#

ReGIR feeds ReSTIR, but its a world-space way of sampling lights vs the screen space way that ReSTIR usually uses

#

once the weird error log issue is fixed for the Fast Timer, ReGIR is ready for use

hybrid violet
#

Low/Med are more on what you value

shadow heath
#

I have a 4090

hybrid violet
#

I'm using DLSS Balanced at 4k 4090, getting a good 50-60FPS after framegen

#

highly playable

shadow heath
#

I just found this mod, are there any comparisons of what it adds over max

#

I saw some of the fixes it does

#

But didn't understand what it does to increase quality

real ravine
#

@hybrid violet can you also do a mapping so that we wont have to repeat all the logger/prints and if branches? for now i think it'll be enough to do as so:

    8: var.quality.LOW,
    10: var.quality.MEDIUM,
    14: var.quality.HIGH,
    20: var.quality.INSANE,
}

local quality = qualityMapping[shadingCount]
logger.info("Guessed quality is", quality)
return quality```

and logger.info(msg) instead of the print(" ---- Ultra...")
shadow heath
hybrid violet
hybrid violet
shadow heath
#

What are the working LOD mods for the game? Always has been the biggest issue for me

hybrid violet
#

big ones are Next Gen Environment LODs, Not So Good Draw Distance

#

prob dont use the Extreme version due to CTD issues, just Performance

shadow heath
#

do you have a list of recommended mods apart from those?

hybrid violet
#

dont take it as a bible or with support, what I'm using:

#

only one thats complex is the 01 Fuji and Relight stuff

#

rest is drop and go

#

if you have HDR or honestly in general (i dont know about SDR but I think it works) this mod is a must

#

reworks the actual LUT/Tonemapping code, not a reshade filter

shadow heath
#

yes I saw that one

hybrid violet
#

on ReGIR High (bit of smearing on far NPCs cause 2077 PT has a bug causing smearing when the camera is 100% still)

#

no spatial disocclusion samples, so no boost to areas being disoccluded due to I assume no motion vectors from camera movement

gentle haven
#

Is REGIR supposed to be used without RR? because with RR i see lights constantly changing brightness.

hybrid violet
#

with RR. Ray Reconstruction is two things

#
  1. ReLAX denoiser instead of ReBLUR, its a superior denoiser inherently.
  2. nvidia doing DLSS things to not half-res/downres the image along the way and feed the upscaler a high quality image
#

plus I think it enables ReSTIR GI (better way of doing Indirect lighting/secondary bounces on rays being traced, ambient light basically)

#

but with ReGIR its a different ballgame

#

the way it samples light and decides what to use is very different, its going to have different behaviour

#

Feeds both Direct and Indirect lighting (ReSTIR DI and GI)

#

ReGIR's big lever is the shading count. determines the quality of light sampling (more defined lights/shadows and highlights), and your FPS.

#

at low levels it turns into like an optimisation, less quality PT but very stable

#

highest levels ReGIR's better in all regards than pure screen space ReSTIR

#

to use it you'll need to wait for the next Alpha release (also the timer bug it has on github will need a fix)

gentle haven
#

Thanks for the detailed explanation by the way

#

uhm reinstalled it and suddenly the issue i had fixed

#

okay it looks perfect now

hybrid violet
#

When you use it, big thing

#

In the debug menu after loading you need to scroll and find ReGIR DI

#

The script that ticks that after load isn’t working atm

#

Big performance boost will occur and better direct lighting

gentle haven
#

oh okay thanks

hybrid violet
#

Will need to be done each save load until that’s fixed

shadow heath
#

Regir improves performance?

gritty geode
gritty geode
#

Cyberpunk 2077 - Ultra Plus mod development

gritty geode
#

everyone has a 4090 except meee 😭

gritty geode
#

different people have different sensitivity to PT noise. the ones who are really sensitive to it currently run RT+PT

gritty geode
gritty geode
#

I think we can add some insignificant movement to the camera each frame hopefully to bypass the game skipping temporal when it thinks the camera is still. it's pointless it doesn't improve fps

real ravine
gritty geode
#

I'll take a look and merge

#

I have a migraine. need some low brain work rn 😂

gritty geode
# shadow heath Regir improves performance?

if you want the best performance, use PT20 Fast/Performance or Medium/Balanced (what I use)... it's way faster than vanilla with very little downsides (and about to get faster)

#

keep in mind v4.0 alpha is a bit like trying to drive a car with engine bits everywhere at the moment. we've been testing things and about to bring it all back together 😊

shadow heath
#

Thank you for all the detailed replies and for the mod

#

I won't start playing the game proper any time soon so I will follow the development of the mod

gritty geode
#

thank you 🙏😊

hybrid violet
#

So the DoReGIRDI function isn’t called

#

Log is spamming an error

#

The way it’s setup, load with GI and DI but no separate denoising. Then once the game loads, turn off DI, wait 0.6 seconds then re-enable it, then enable separate denoising

#

All that, and you have fully working ReGIR

#

The detection is based on HaveWeDoneThat. That Boolean is reset to false on init, on tweak, and importantly on loading screens. When that happens we also turn off separate denoising so it can be re-enabled at the right time.

gritty geode
#

okay easy, ty

#

I have to get some work done but will hopefully sort it out after work while I'm having insomnia 😂

gritty geode
#

oh no it's not rebased against alpha11 😭 lol

hybrid violet
#

It should be rebased on main

#

Tho from last night

gritty geode
#

🤔

#

idk ¯_(ツ)_/¯ .. all good, half way through 😊

#

i'm no git ninja, but i make it work 😂

gritty geode
gritty geode
#

okay @hybrid violet i've just applied the speed hack for RT+PT and PT20 and bumped to alpha13 ... basically all this does is

  • forces LocalLightImportanceSampling (via commonfixes) to force LL sampling to env map
  • forces FallbackLight (commonfixes - required for above to work)
  • sets SpatialNumSample to 0 for all RT+PT and PT20 quality levels
  • increase NumEnvMapSamples to 32 for all of these (~0 fps hit after recompiling shader), several fps boost with no quality loss

i think this can be applied to PT21 as well, but i haven't done it because i can't test anything right now. perhaps you could have a try with ReGIR and PT21? ... in theory if locallights are sampled to the env map, spatialnumsamples serve no purpose at all

random thoughts: i wonder if this changes things for emissive triangle lights 🤔

#

i'm also going to suggest we rebrand ReGIRGI as "PT30" mode 😊

gritty geode
#

hmm, seems i've got it backwards! LLIS and fallbacklight both need to be disabled for PT20 to work!

hybrid violet
#

Fancy that

#

Fallback light I think shouldn’t be necessary surely

#

It’s rudimentary sampling as fallback, lots of bias if it’s on but theoretically less disocclusion

hybrid violet
#

PTNext (ReGIR) featuring ReSTIR - beta

gritty geode
#

i'm just about to push a bunch of updates/fixes

gritty geode
gritty geode
hybrid violet
#

Hmmm to my understanding the env map is unused altogether

#

The environment map is emissive triangle lights, without that there’s nothing feeding it

#

Without it it’s just naive sampling from the BRDF and sent into ReSTIR via some custom method they added

#

Leaving the environment map blank

gritty geode
#

oh it's definitely used. if you disable fallback lights and have only 8 samples for the env map, it looks terrible

#

but there are flags that suggest it's "off"

#

it's working for PT21 too

hybrid violet
#

Hmmmmm? Curious, need to test that in pre denoised mode

#

If you can send me the settings ur using for it

#

There’s so many pathways they’ve made because my guess is they were early adopters

#

Tech has evolved as they built it

#

Even Nvidia is still catching up to their own research papers

#

5000 series will see conditional ReSTIR PT with mutations + NRC allowing extremely high quality realtime PT

#

Maybe even + PT volumetrics

gritty geode
#

yep, i've just updated the git

  • biggest problem is regir activation isn't working reliably, there's a better way to do it (not fixed, see below)
  • i think the config.* variables need to be moved to variables.lua var.config because they're now shared across ui.lua and init.lua at least
  • fixed LoadSettings() not being called
  • disabled LocalLightImportanceSampling and EnableFallbackLight which allowed SpatialNumSamples to be set to 0 for PT20, PT21, RT+PT, which is much faster. i haven't tested with ReGIR yet
  • adjusted DownScaleFactor so they're all uniform (again, didn't touch ReGIR just get
  • fixed 90% font scaling not working
  • adjusted window size
hybrid violet
#

ReGIR is a bit of an odd case, indirect quality isn’t really boosted by raising indirect variables

#

It’s raised by boosting primary lighting which needs usually a lot of shading count to restore the lost highlights/shadow clarity

#

So it’s best to conserve performance elsewhere and just throw it all into ShadingCount

#

When that’s high, the image is really really clean and quality

#

Time spent trying to get another bounce in SHARC could boost the base light sampling used for it to even pick up there’s a light there

#

Light slots can’t be lowered as many scenes approach 300-500 lights in the deep city and it doesn’t touch perf much

#

If you have any other suggestions on squeezing performance elsewhere we can use that to further raise Shading Counts

#

I haven’t managed to get beyond 20 reliably on a 4090 on Balanced, namely when you hit the deep city and are sampling up to 500 lights you start to bleed frames down to 30fps base on Insane

gritty geode
#

for regir

hybrid violet
#

My conclusion from repetitive testing was, I don’t think Rays or Spatial Samples are doing anything for ReGIR

#

Perf was not changing as you expect

#

But I need more reload restart game tests to be sure

#

Downscale factor above 5 wasn’t reliably boosting perf either so I was hesitant to change it

gritty geode
#

right. i'm going to create a branch to test it without spatialnumsamples

gritty geode
hybrid violet
#

24 shading count on ReGIR insane would be super high quality I almost contemplated reworking the quality levels. Maybe removing Vanilla and just adding an Extreme before Insane

#

Extreme being playable and Insane being try your luck

#

30 is the dream

#

All ReSTIR micro detail basically restored, high quality sampling and way more light samples than screen space, holds up entirely in motion, holds up sharp shadows at most angles

gritty geode
#

okay i've made a branch regir-performance-improvements 😄

#

¯_(ツ)_/¯

hybrid violet
#

20 does all the leg work, it’s like imperceptible for most but higher quality base, just a little bit of micro detail sacrificed in bright spots and a lil difficulty in heavy motion keep coherent light but better overall definitively than (pure) ReSTIR for clarity and overall resolve

#

And consistently ReGIR holds up better in stability and noise

gritty geode
#

mm, i can even run it, which is pretty crazy

hybrid violet
#

It’s got this weirdly persistent base cost to it

#

Nothing I did changes the performance characteristics of Shading Count

gritty geode
#

huh

#

how's this?

hybrid violet
#

Is ReGIR DI enabled?

#

Without the auto fix working atm

gritty geode
#

that's on a 3070 Ti in a laptop, 1440p quality

#

yup

hybrid violet
#

Massively boosts perf when the two are used together

#

Without DI I wouldn’t ever bother with GI it’s just too expensive for minute indirect benefits

#

Nice

gritty geode
#

so i think insane can go to 20 no problem

hybrid violet
#

Try hop on a bike and drive deep into the city

gritty geode
#

mind you i'm in a fairly low cost thing

hybrid violet
#

That’s where I see perf really take a hit

gritty geode
#

hehehe

#

oay

#

okay

hybrid violet
#

Maybe I’ve overcooked with my mods

#

And I’m just limited elsewhere

#

Also 4K?

#

And what DLSS level?

gritty geode
#

do i actually want RTXDI gradients enabled?

hybrid violet
#

I found it boosts perf

#

Consistently

gritty geode
#

okay!

hybrid violet
#

I’ve gone ham

#

But only on graphics no content

#

Do you have the environment LOD mod

#

Or just better distance

gritty geode
#

daaamnnn

hybrid violet
#

Also maybe astonishing density is doing it lol

gritty geode
#

that will hurt

hybrid violet
#

ReGIR performs crazy good in like the exterior

#

Desert regions, top notch perf

#

How much FPS with High?

hybrid violet
gritty geode
#

cycled back on

#

can you please tell me the exact sequence we need?

  • disable ReGIR
  • disable ReGIRDI
  • disable RTXDI separate denoiser
  • enable ReGIR
  • enable ReGIRDI
  • enable RTXDI separate denoiser
    ?
#

we can adjust the skin quite a lot with these, but they don't hot load

[Editor/Characters/Skin]
AllowSkinAmbientMix = false                        ; (true)
SkinAmbientMix_Factor = 1.0                        ; (1.0)
SubsurfaceSpecularTintWeight = 0.5                ; (0.3)
SkinAmbientIntensity_Factor = 0.3                ; (0.4)
SubsurfaceSpecularTint_R = 0.26                    ; (0.21)
SubsurfaceSpecularTint_G = 0.17                    ; (0.21)
SubsurfaceSpecularTint_B = 0.19                    ; (0.29)
hybrid violet
#

So, loading the game
SeparateDenoising disabled (key!)
ReGIR enabled both GI and DI

After game load
Disable specifically only ReGIR DI
Enable ReGIR DI
Enable Separate Denoising

This has to happen every load, init and save loads

#

I’ve set up an observer that will handle save loads

#

And confirmed reliably it works

#

ReGIR GI (or more so the enable flag for ReGIR) should never be disabled at any point when using ReGIR

#

Just the UseForDI flag after load then re-enabled

#

During load it should be enabled

#

My code for it was working reliably before I merged not sure what broke tho. Namely the fast timer is spamming the log now

#

Code is the same too

hybrid violet
gritty geode
#

there's also an interesting effect

  • disabling separate denoiser
  • disable ReGIR (but leave ReGIRDI enabled)
  • disable ReGIRDI and re-enable it
  • enable ReGIR
  • enable separate
#

(without loading a save)

gritty geode
hybrid violet
#

I noticed loading with ReGiR and triggering it after didn’t look the same

#

Also perf difference by memory though so many tests my memory’s a blur

#

But to me loading with ReGIR had a big difference . Though cycling DI with ReGIR base off won’t do anything

#

Cause without the Enable flag it’s just disabling ReSTIR RIS direct lighting for a moment, you’ll loose all direct light but ReGiRs grid isn’t loaded

#

Basically the key sequence is separate off during load, but ReGIR fully on, then cycle DI for the screen space ReSTIR elements and allowing separate denoising

#

Also, not doing that has a big difference in look. It’s an option

gritty geode
hybrid violet
#

Hmmm do note in say Jackie’s bar scene there was > 512 lights. The engine didn’t allow me to go beyond 512, but slots being below lights in the scene causes flickering between sources in the grid

#

At 32 for example you’ll see dancing lights

#

Being slightly over doesn’t cause much flickering (have to focus on it and in specific spots)

#

Shame cause with 2048 or 4096 we could do emissive triangle lights plus ReGIR for ultimate quality

#

Also AllowRTXDIRejitter must be disabled for ReGIR

#

Breaks npcs unless we fix that issue

#

BiasCorrectionMode needs testing cause I found 3 consistently gained me FPS

#

But not sure if that’s for everyone

gritty geode
gritty geode
#

I lowered commonfixes lights to 448 but just raise it back up again.
also I'm getting disocclusion noise on doors, we might need to increase disocclusionboost

hybrid violet
#

Yeah maybe also need to keep the fallback light for ReGIR

#

And fallback sampling

#

Both

#

ReGIR truly solves a lot of its disocclusion with more ShadingCount

#

But I agree moar samples

gritty geode
#

ya know we could probably force a quick save then quick load 🤔

gritty geode
hybrid violet
#

Sadly I think it’s necessary for just this reason, the algo doesn’t have a way otherwise to handle movement

#

Though their own docs said 1 sample should be fine

#

And 2 is golden

#

If no spatial gains perf for ReGIR we can try raising shade count

#

But it may not beat the results

#

Also try a small radius

#

Big radius big cost

gritty geode
hybrid violet
#

20 radius is used for one of the two lighting types in the portal bridge thing

#

Remix

gritty geode
#

a lot of the time I use frametime saved to increase quality elsewhere. at least for Medium > Insane

#

I also had the don't unstream thing and it seemed to behave itself

hybrid violet
#

Which one?

hybrid violet
#

Spatial radius

gritty geode
#

the one you said should probably only be set for 16GB+ cards 😂

hybrid violet
#

If that’s 64 each sample will be more costly

hybrid violet
#

Or more so

#

Pop out and in and out and in

gritty geode
#

hopefully. yes. it badly needs a denounce

hybrid violet
#

We should denounce this streamer yes

#

Idk how they thought it acceptable

gritty geode
#

**debounce 😂

#

it's so fixable though!

#

like seriously give me 30 minutes with the source code

#

even just compare the streamer code to 1.63 which worked fine

#

I wonder what this does inkInitEngineState

#

the ideal answer for ReGIR is

  • do the things
  • hot reload engine (without loading a saved)
  • do the other things
hybrid violet
#

oh nice

#

well

#

local timer = activeTimers[i]

#

figured it out

#

declaring timer locally there which wasnt done prior

#

which removes the global timer from the function

#

so the fast vars dont exist

#

local is the new part

#

or sorry is the old part

#

wait what

#

current

#

trying now to see if that cleans this all up

#

prob should be this right

#

semi works

#

this is turning itself on too early

#

way too early

#

but the RTXDI thing applies at the right time now

gritty geode
#

I think there's also the problem that config = {} is defined in ui.lua and init.lua... it should probably be moved to variables (as var.config = {} ?) so it's common to everything

gritty geode
#

I can't understand nativeDB at all

hybrid violet
#

oh this is pre-that

#

I think
if Detector.isGameActive and isLoaded then
this is needed too

#

isLoaded

#

only do Updates after Load

#

nope something else doing it

#

Cyberpunk?

#

oh I just hadnt applied it on my local copy

#

it works

gritty geode
#

I've done.thay so many times 😂

hybrid violet
#

tho its a bit out of date lemme merge in

#

some aggressive culling happening here

#

raising the offset fixes it but lemme test whats needed

gritty geode
#

reading psiberx's code 🤯

hybrid violet
#

yeah 200/2000 fixes it

#

100 breaks it

#

or does it

#

10 is too low

gritty geode
#

how do you get such low fps at balanced 😂

hybrid violet
#

100/2000 works

#

idk honestly

#

4k DLSS Balanced

gritty geode
#

have you run the AMD auto-detect tool lately?

#

yes ik. balanced is 58% I think?

gritty geode
#

you have an AMD CPU?

hybrid violet
#

i9 13900k

gritty geode
#

ah, nevermind

#

hey, what about toggling RR, instead of loading a save (to force a re-init)

#

psi says the engine can't directly be re-initialised, but try toggling some other settings that causes a re-init (instead of loading a game)

hybrid violet
#

makes sense

#

I found a good spot for tuning ReLAX and notably reduced some smearing

#

basically tuning some stuff towards CDPR defaults, restoring a lower history set and relaxing PhiLuminance a bit

gritty geode
#

yep, I agree

#

CDPRs defaults were okay for relax (mostly), it's mostly fixing RTXDI bias and envmap that helped it a lot

#

relax isn't used at all for ReSTIR/ReGIR

hybrid violet
#

ReLAX is def used to denoise ReSTIR/ReGIR, without it you'd have pure noise

#

left would be no ReLAX

hybrid violet
#

ohh the Luma weight I kinda get it now

gritty geode
#

I've added some issues to git re what we've been discussing

#

I'd better get some sleep 😊😊 nn

#

just thinking.. are you running ReGIR at half res diffuse? (does it even matter?)

hybrid violet
#

been doing so but I dont think they work in PT

#

made some discoveries on how to tune the denoiser towards pure disocclusion focus

#

so fast shouldnt drop below 4, cause history frames absolutely shouldnt drop below 3

#

cooks things if it does

#

spatial variance threshold at 0, helps reduce smearing a solid amount by always doing spatial variance

gritty geode
#

okay. excited to try!

#

I'll hopefully have some time on the weekend too 😊

real ravine
hybrid violet
#

should have the time tomorrow, almost out of time tonight

#

some ReLAX observations

  • Anti Firefly, little brutal but reduces smearing
  • Prepass Blur, probabilistic should use a decent amount of it in specular
  • Lobe Angle Fraction decently high to avoid smearing
  • Low as possible depth threshold within their values, same for disocclusion
  • keep HistoryFix to 3, anything else is broke
  • Same thing keep fast at 3-4, 4 honestly, no diff below 4 just a quality loss
  • Phi Luminance being as low as CDPR had it makes no sense
  • VirtualHistoryClamping is a must, specular is where alot of smearing can occur
  • Nothing will truly improve the image outside base image, the source of actual smearing beyond what the denoiser does is PT
  • AtrousIterationNum costs FPS but is good for IQ
#

can prob keep Atrous at 6 for Insane, 8 is likely overkill

#

going to try again raising Ray count to 3/4

#

with Probabilistic the impact is not high at all on FPS but good IQ gains

hybrid violet
#

hmmm suddenly getting some large stutters into bike rides

#

checking its not the BLAS/autorotation settings

hybrid violet
#

okay got it, cant drop spatial variance below 2

hybrid violet
gentle haven
#

excited to find out what is changed now

hybrid violet
#

It’s fully functioning outside ini detection

#

Once that’s fixed it also just needs to update the sample count it’s detecting for Insane

hybrid violet
hybrid violet
#

I’d say it’s ready for alpha testing, just needs working ini detection and more tuning as we go and get more data and settings

#

I also need to figure out how I’ve CPU limited myself and solve that

#

So I can check true 4090 performance

gentle haven
#

alright

gritty geode
gentle haven
#

hiya me again

#

it seems ray reconstruction is not getting re-enabled properly (sometimes)

#

it does looks even more perfect now

minor smelt
#

(Sorry for asking so directly haha)

gentle haven
#

why?

minor smelt
#

Nice, "for the rest" is something that doesn't tranlate literally to English that way haha. But is typically Dutch to say haha. You're actually saying now "voor de rust" 😛

#

Just found it funny and immediately recognized it haha

gentle haven
#

oh

#

and i always thought i was good at speaking english

minor smelt
#

Don't worry, you are, everyone can make tiny little mistakes haha. I do it ever so often.

gentle haven
#

ah okay. So i assume you are also dutch?

minor smelt
#

Dit topic is in essentie ook compleet off-topic, dus maakt niet uit als we effe intermezzo doen haha

minor smelt
#

Ok, perhaps it could also be seen as German. But I don't steal bicycles, so....

#

My bicycles only get stolen by others 😭 😭 😭

gentle haven
gentle haven
#

Okay, funny that you immediately recognized that

minor smelt
# gentle haven Sad moment

Twee keer, ene keer deed ik niet op slot toen ik naar de McDonalds ging en de andere keer toen ik naar de appie ging haha

#

Dus wel beetje mijn fout, maar alsnog 😭

minor smelt
gentle haven
minor smelt
minor smelt
gentle haven
#

(als ik hiermee over een of andere lijn ging moet je het laten weten)

minor smelt
gentle haven
minor smelt
hybrid violet
hybrid violet
# gritty geode does ReGIRDI still require loading a save?

ReGIR baseline should be loaded during load, it’s a world space grid that needs constructing and light should them be sampled from it, for shader reasons too I think such a drastic change should apply during load. But also loading without DI looked different than cycling it after load

#

Weird shit

gentle haven
gritty geode
gritty geode
#

oke, Engels alsjeblieft domme lol

minor smelt
#

Haha

minor smelt
gritty geode
#

geen idee waar je het over hebt 😜

minor smelt
gritty geode
gritty geode
minor smelt
#

😘

gritty geode
#

what!? lmao

#

scared of women 😂

gentle haven
gritty geode
#

nee waarom?

gentle haven
#

Omdat je nederlands praat🤣

gritty geode
#

oh! Is dat zo? 🤔

#

oh ja dat doe ik! wacht even

#

okay that's better

hybrid violet
gritty geode
#

sorry

gritty geode
gentle haven
hybrid violet
#

Yeah born and raised

gritty geode
#

nice. I'm Aussie imported by a US Marine

#

I can't understand what anybody says here

hybrid violet
#

lol that’s fair people don’t make it easy

#

Then again I think I also speak too fast at times combined with Aussie dropping syllables everywhere

#

Was funny when I visited the Netherlands had to slow myself down

gritty geode
#

yeah and everyone calls me Sam, I HATE being called Sam lol

#

that's what my dad called me when I really fucked up 😂

hybrid violet
#

lol yeah if you have a proper first name you kinda give that up living here

#

Whatever gets the sentence said faster can be dropped

gritty geode
#

yep. 🙄

hybrid violet
#

Maybe remove all the detection on specific lines

#

Save like each category as an int

#

Mode =5, quality = 3

#

Into an ini file

#

Then just load from that ini

#

Easy enough

#

(in theory)

gritty geode
#

or could do

[Mode/ReGIR/High]
Editor/ReGIR/Enable = true
Editor/ReGIR/EnableForDI = true
RayTracing/Reference/BounceNumber = 2

[Samples/ReGIR/Medium]
Editor/RTXDI/NumInitialSamples = 16
...
#

would be very easy to partse

#

easy to partse! not so easy to tyep though!

#

i actually quite like this. @real ravine wdyt?

hybrid violet
#

An I mean more like not the ini common fixed

#

But more like how we load what mode the user selected

#

Make a little custom ini with
Mode = 3

gritty geode
#

there's no advantage to doing mode = 3 vs mode = "PTNext" etc. though

#

because in lua comparing any variable to something is slow

#

so

if mode = 3 then
  -- do something
end

-- is much slower than
local PT21 = 3
if mode = PT21 then
  -- do something
end
#

this is why the mode / quality / etc. checking is always done by comparing variables. in the first example lua creates a variable, does the comparison... in the second example all the vars already exist

hybrid violet
#

Ah right sorry the structure I’m thinking is basically first replace all the guess samples functions with if mode 3 set our own internal var for mode 3 to whatever mode 3 is. We can store it as string as well either way.
Then the rest of the code is the same

#

Once we know what mode should be loaded in and set it to that (ReGIR) all our existing code for setting vars based on mode can than apply

gritty geode
#

yes. i'm just planning on removing all the guess things

hybrid violet
#

ATM though we aren’t saving and loading selections players pick

#

Like if you pick ReGIR we don’t save that mode should === ReGIR

#

Which is all we really need to save

gritty geode
#

yep

hybrid violet
hybrid violet
#

ReLAX changes there are basically, prioritise spatial detection over a perfect stable resolve on stills. Detect down to the deepest level, trigger spatial variance sooner, count anything as disocclusion, changed the accumulated frames to what their auto detection would do at 30fps (to cover all scenarios), adjusted the roughness stopping to what I saw

#

All settings tested live in motion on the NRD sample

gritty geode
#

i guess my remaining question would be, does relax with naive need different settings from relax with ReGIR and/or ReSTIR

#

merged

#

I've also added a proposed configs.ini

#

actually we probably need a

[Mode/Common/Low]
...
#

maybe. or they might just make things confusing

gritty geode
#

okay, now i've actually checked in my config.ini proposal 😜

hybrid violet
#

I genuinely think we should try and move in a direction of ReSTIR for both GI and DI

#

Aka move away from PT 2.0

#

If you look at the predenoised image it’s a massive improvement enabling ReSTIR GI

#

If anything the Low quality modes can disable GI

gritty geode
#

if we can deal with the noise of low quality GI, then yes

hybrid violet
#

I don’t get though how PT20 would have less noise, the predenoised image without GI has more noise

#

And weaker signals

gritty geode
#

¯_(ツ)_/¯

#

idk, but playing on Low samples Medium quality PT20 looks great

#

also keep in mind that at 1440p, DLSS balanced looks awful compared to quality

#

there isn't enough information at 835p primary resolution to really upscale properly

hybrid violet
#

That’s quite fair

#

Balanced at 4K is like 1200p or something

#

1252p

#

Ideally I could get Quality 4K ReGIR

#

The dream

#

Yeah sacrificing GI for higher FPS and more resolution is a worthy trade off

#

Up to a point tho imo

#

Once your at 1080p I wouldn’t give it up to reach say 1200p

gritty geode
gritty geode
#

one day i'll get a real PC 😂

gritty geode
#

i mean if i can get ReGIR working really nicely on my PC, absolutely i'll use it. it looks amazing

#

i also haven't tried it on balanced and it already looks a lot sharper. balanced may be possible. or maybe @ 0.62 or something res

#

lmao reading others mods

    local f = Helpers.GetFOV()
    -- TODO: fuck you
    local poopshit = (68 / f- 1) * 0.22
gritty geode
#

@hybrid violet this is my poem on preventing skipped temporal reprojection when camera isn't moving


registerForEvent('onUpdate', function(delta)
    JitterCamera()
end)

function JitterCamera()
    -- imperceptibly jitter camera to always force temporal reprojection
    -- pseudocode follows

    -- does just doing this work?
    if isLoaded then
        Game.GetPlayer()
    return
    end
    
    -- or maybe this?
    if isLoaded then
        jitter = timer.fast * 0.0000000001
        Game.GetPlayer():GetFPPCameraComponent():SetFOV(defaultFOV + jitter)
        return
    end

    --[[
    -- from ImmersiveFirstPerson\Modules\Helpers.lua
    local player = Game.GetPlayer()
    Game.GetPlayer():GetFPPCameraComponent():SetFOV(defaultFOV)
    Game.GetPlayer():SetLocalPosition(Vector4.new(x, y, z, 1.0))            -- e.g. 0.0, 0.0, 0, 1.0 or 0.0, 0.0, 0.0, 1.0
    Game.GetPlayer():SetLocalOrientation(Quaternion.new(x, y, z, 1.0))
        if roll ~= nil or pitch ~= nil or yaw ~= nil then
        if roll == nil then roll = 0 end
        if pitch == nil then pitch = 0 end
        if yaw == nil then yaw = 0 end
        Game.GetPlayer():GetFPPCameraComponent():SetLocalOrientation(GetSingleton('EulerAngles'):ToQuat(EulerAngles.new(roll, pitch, yaw)))
    ]]
end
hybrid violet
gritty geode
#

I'm really really hoping we can just refresh the camera rather than jittering it

minor smelt
minor smelt
gritty geode
gritty geode
#

😤

#

😂

minor smelt
minor smelt
gritty geode
gritty geode
#

but i'm a hugger

#

and nothing to apologise for

minor smelt
minor smelt
gritty geode
#

i'm pretty autistic 😂

minor smelt
gritty geode
#

lekker zeg

minor smelt
minor smelt
#

Kan dreigen je eruit te kieperen als je niet de waarheid verteld? mwuhahahahaha

gritty geode
#

you'd fit in fine in australia

#

haha

#

doe eens normaal 🙄

#

no i'm Australian

minor smelt
#

So, how do you talk Dutch?

gritty geode
#

lmao

#

i am the internet

minor smelt
#

I'm sending you a DM

gritty geode
#

okay haha

#

idk, i've been online 30 years... the internet today is just forks of yesterday

real ravine
gritty geode
#

i tried those commands to refresh the camera, they didn't seem to make any difference, but i'm not sure the problem actually exists in regir anyway

minor smelt
#

They even had to work around issues apparently in cases where scripting was too slow to keep up.

gritty geode
#

well, it's done now ... i would prefer to program efficiently where possible

#

😊

#

also, PTNext actually looks great for me on DLSS Balanced

#

not as great as quality of course, but far far better than any of the other modes. i can run High on Balanced

#

and i couldn't find a way to activate it without loading a save

hybrid violet
#

It’s honestly interesting how it just kinda seems better. To me it’s consistency

#

It kinda just works across more scenes

#

Holds up well, doesn’t boil much, doesn’t suddenly dissolve as much

#

And resolves some detail where you notice it more even if it does some spots you otherwise wouldn’t slightly less

#

It’s like sacrificing 5% peak for 33% base

gritty geode
#

it's soooo nice

#

i disabled SpatialNumSamples but it doesn't really matter, it's not using them at all

#

yes, and someone in the Digital Dreams discord was saying they hate how shadows don't resolve well at a distance (ReSTIR/naive/RTXDI) ... and it's like... well, they're screenspace... they never will

#

i've asked psi if there's some other way to script maybe a quicksave/quickload sequence ... or inject RedHotTools to do more or something

#

because the other trouble is, ,if you change any of the graphics settings, the regir grid gets trashed, and you have to reload

hybrid violet
#

Yeah there’s a limit to which settings you can change, and you can’t reinit

gritty geode
#

mm 🤔

real ravine
#

javascript is single threaded and it's not* slow

#

php is single threaded and it's not slow

#

python is not slow either

#

lua is not slow

minor smelt
#

@real ravine I'm confused, you are now argueing it anyways while saying you wouldn't argue it. I feel confused and betrayed now 😛

gritty geode
real ravine
#

i'd say more if i'd argue

minor smelt
gritty geode
minor smelt
gritty geode
#

@hybrid violet is there a reason you stopped it loading settings on startup?

minor smelt
#

Btw, don't know the exact timestamp and at work, so can't listen to it now to be sure, but in this video they talked about the lua scripting: https://www.youtube.com/watch?v=ZTW7bDdHC6g

2023 was a brilliant year for advancements in video game graphics - and up there amongst the most astonishing achievements was Remedy's Alan Wake 2. In this extended interview with the Remedy tech team, Alex Battaglia gets the opportunity to ask the developers literally anything and everything he wants to know about - from mesh shaders vs primit...

▶ Play video
minor smelt
gritty geode
#

oh it says "no, u!" 😂

#

you can't ban me i'm playing CP 😄

minor smelt
minor smelt
gritty geode
#

mooohahahah

real ravine
gritty geode
#

44 fps in the afterlife at insane quality ... on a laptop 😂 1440p balanced FG

real ravine
#

tested the last version of ultraplus and it looks and runs better - for the first time

#

no more weird shimmering, weird artifacts and whatever the game would cook up when i'd turn on raytraced reflections or path tracing

hybrid violet
#

With ReGIR ? Or just like alpha 8 atm?

real ravine
#

the latest version before your changes got merged

#

have no clue what got changed bcuz i didnt care since rt/pt looked like ass for me and i just didnt bother

#

but something got changed and it looks and performs better on an amd gpu

#

i'd be seeing fucking glitched squares when moving the camera on anything with a reflection on it

shadow heath
gritty geode
#

NRD looks kind of incredible like this

real ravine
# shadow heath Always with the Nvidia conspiracy theories

As you can see some objects are so heavily tessellated but the amount of detail you NOTICE IN GAME is pretty much ZERO. Especially those alien-shields and the big chunks of stone and rubble. You barely see them up so close at ALL... So what is the reason for the heavy tessellation? The alien tentacles are tessellated but still they are EDGY on s...

▶ Play video
shadow heath
#

If you want to talk about a GPU vendor paying developers to make games run/look worse then you have to talk about AMD, most of their sponsored games don't add DLSS or XeSS, and have gimped RT implementations

real ravine
#

🤣

shadow heath
#

Versus your conspiracy nonsense about CDPR making PT run worse for what exactly?

#

Literal baseless accusation that is uncalled for, it's a new technology and CP was the first full game to get a PT makeover

real ravine
#

cool story

shadow heath
#

No need to behave like a child

real ravine
#

u understand that u just came out of fucking nowhere to just argue and defend whatever u're defending? even if u were right, why'd you downplay the fact that im saying "good job guys for making a better job than cp devs and nvidia with 0 fucking resources"

#

i mean whatever u're saying big guy

gritty geode
#

@hybrid violet jittering the FOV is working 😂

shadow heath
#

Also random people and hobbyists fixing up/optimizing games is like half of modding. People with passion or an interest make up for resources and money that a company may have

#

Like some random guy who fixed GTA V's online loading times from minutes down to seconds by optimizing some code. One guy vs multi-billion dollar developer. Maybe Rockstar was paid off by SSD companies to make load times slower

gritty geode
#

be respectful please

hybrid violet
#

also, removing all my mods and my misc tweaks ini file thing that I had that let me use Astonishing, 30fps

#

on Quality

#

ReGIR Insane

#

it was all the Ultra options it added I think

#

cooked the graphics for no gain

gritty geode
hybrid violet
#

hmm?

#

adding back in LOD first cause thats what I care most for

gritty geode
gentle haven
gritty geode
#

still needs a lot of testing, but it's going well i think

hybrid violet
gentle haven
#

y'all are quick

hybrid violet
#

big diff though FG wise and smoothness wise

#

also nice, beta

gritty geode
# hybrid violet nah went from 25 fps sitting still to 30-32 fps

i just did

  • rebalanced ReGIR quality a bit more
  • set RTXDI disocclusion, envmap, spatialnumsamples all to 0 - they're not used and trying to save memory
  • reduced ReGIR Low and Medium lights count to try and save memory ... i wonder if we can programatically reduce LOD distance to reduce lights?
#

(because on 8GB, my PC is fine, but slows down with the vram bug)

#
  • added jittering the frame by an imperceptible amount to prevent temporal from pausing
gritty geode
#

it still seems low

#

try the new beta?

hybrid violet
#

4k Quality, which is 1440p

#

also thats pre FG

hybrid violet
hybrid violet
#

it will flicker badly when you least expect it

hybrid violet
#

thats the only one I'm super cautious about but, gotta test

#

lemme dl it

gritty geode
#

i left it turned on for restirgi but i could be wrong, i'm pretty tired 😊

#

also i'm getting 22 real FPS at ReGIR High DLSS quality 1440p

minor smelt
gritty geode
minor smelt
minor smelt
minor smelt
shadow heath
# minor smelt AMD always stated developers were free to add other upscalers, so nobody is actu...

AMD actually never gave a clear answer denying that they discourage competitor tech to be implemented in their sponsored titles. But this seems to depend on the level of AMD's involvement/sponsoring of the game, since that can differ, nearly all their sponsored games either never got other upscalers added, or they were added at much later dates (which started happening after the public backlash compounded). You can read about the whole thing here: https://www.eurogamer.net/digitalfoundry-2023-df-weekly-does-the-amd-starfield-deal-block-the-inclusion-of-dlss-and-xess-upscaling

real ravine
gritty geode
#

@hybrid violet i just pushed another few (minor fixes) and added you as a mod author

#

@real ravine do you have a nexus account?

gritty geode
real ravine
#

those weeds became grey in any PT mode

real ravine
gritty geode
#

yeah it looks like a whole layer of lighting isn't working

#

i don't know that's very weird

#

screen is too wide error 😂

real ravine
hybrid violet
gritty geode
#

dammit that's a local light sampling bug

#

or fallback light

#

😭

#

that's in all modes?

#

do you know why this tooltip isn't working?

if ImGui.RadioButton("RT Only", var.settings.mode == var.mode.RT_ONLY) then
    ui.tooltip("Regular ray tracing, with optimisations and fixes.")
    var.settings.mode = var.mode.RT_ONLY
    config.SetMode(var.settings.mode)
    config.SetQuality(var.settings.quality)
    config.SetSamples(var.settings.samples)
    SaveSettings()
end
#

nvmind i fixed it 😜

gritty geode
# hybrid violet

try enabling enable fallback lighting and / or enable local light importance sampling in debug

#

i hope it's not that

real ravine
#

not that

real ravine
# minor smelt I want to emphasize that these are just your theories/opinions then of course.

Nvidia's many offences against PC Gaming.

♥ Subscribe To AdoredTV - http://bit.ly/1J7020P

► Support AdoredTV through Patreon https://www.patreon.com/adoredtv

Bitcoin Address - 1HuL9vN6Sgk4LqAS1AS6GexJoKNgoXFLEX
Ethereum Address - 0xB3535135b69EeE166fEc5021De725502911D9fd2

♥ Buy PC Parts from Amazon below.

♥ NEW USA Store! - https://www.a...

▶ Play video
real ravine
shadow heath
shadow heath
gritty geode
#

only because WoaD just found a bug. I was about to upload 😭

shadow heath
#

Alright I am open to helping test stuff later after I set the game and mods up

gentle haven
#

hiya, are ini's no longer needed? (i still have the one from firekahuna)

gritty geode
#

on the front panel, enable that

#

I think. I have to get to sleep, night everyone 😊 x

shadow heath
#

right you're in australia

gritty geode
shadow heath
#

it's 12:00 here

gentle haven
#

ah okay, thanks

gritty geode
#

mm, 5am here 😂

gritty geode
#

there's going to be bugs, we've all been zoomed in on certain things

#

I'll upload it to nexus soon with a big beta sign

gritty geode
#

don't have to 😊

real ravine
gritty geode
gritty geode
minor smelt
#

Per rule #2 in #📋welcome-rules-info I want to remind both @shadow heath and @real ravine to "treat everyone and their views with respect." and "This means no [...] presenting own questionable statements (including technical statements) as facts". If you want to continue this conversation in the correct manner, I would like to ask you to continue that in #💬chat

hybrid violet
#

HMMM

#

might be onto something radical

#

not sure how I did it

#

but I went and just started unticking shit

#

and now shading count hits high quality much sooner

#

and perf is up

#

off vs on 8 shade count

#

just trying to confirm what the change is that gained me frames

#

yeah idk but I can now run 32 fps base and 60fps after frame gen on 32 shading samples

gaunt skiff
# real ravine https://www.youtube.com/watch?v=H0L3OTZ13Os theories, yeah

Nvidia being a shitty company is one thing, but 5 years ago you would have needed a small render farm for none-real time path tracing.
It's so expensive that it was inefficient to use even for offline rendering like a decade ago.
If you go back to 2018 and told someone dealing with computer graphics for a living that in 2023 you will be able to run PT in real time on a single GPU, you would get laughed out of the room

shadow heath
# minor smelt Have to say this could all be true, but also think DF made quite rash conclusion...

I was not the one presenting (totally baseless) conspiracy theories as some plain fact. Why am I being berated for putting those into question? Like what someone here comes on talking about the flat Earth and you're supposed to say all opinions are equal 🤣
Also DF made no rash conclusions of any kind, they just went through the evidence, which is inconclusive but very obviously points towards a certain thing
Either way I have nothing more to say on the topic

shadow heath
# gaunt skiff Nvidia being a shitty company is one thing, but 5 years ago you would have neede...

There's also tons of people promoting another idea: Nvidia pays developers to make rasterized graphics works, so that RT looks better by comparison
At some point there were loads of people straight up saying that RT and ML hardware was fake
Then there was the people saying that the optical flow hardware on 40xx is not actually better and Nvidia's FG is just being artificially segmented
it never ends

minor smelt
gaunt skiff
#

I distinctively remember Hardware Unboxed guy suggesting that 4A made raster GI worse in Metro Exodus because of Nvidia sponsorship
Needless to say, the channel has been on my ignored list ever since

minor smelt
shadow heath
#

You entertain such an idea at all?

#

Games are developed primarily for console hardware and lowest common denominator

#

They are made as well as the developers can for that hardware

gaunt skiff
minor smelt
#

Let's try to stick to facts and not fanboy-theories

shadow heath
#

People want to dishonestly mix certain Nvidia anti-consumer behaviors with stuff like this which is simply made up

#

And as pointed out earlier if someone wants to start this theme of GPU vendor paying off developers for X, then there's only evidence of AMD behaving that way

#

If CDPR hadn't ditched REDEngine I wager they'd probably have spent more time trying to optimize the PT implementation

#

But it was pretty much done as a tech demo

#

They just don't care that much about it. So it's great that modders are able to optimize and fix some things

minor smelt
#

Put a pin in this discussion, now. You lot didn't move the discussion as told by me, keep being off-topic here and keep bringing in opinions in as facts , so this is the only solution.

#

The discussion is obviously fruitless anyways, so....

gritty geode
# hybrid violet

is that just turning off ReGIRDI though? in which case it will use RTXDI (which isn't necessarily a bad thing)

#

@gaunt skiff @shadow heath can you please continue this argument somewhere else? trying to do development here 😂

#

Cyberpunk 2077 - Ultra Plus development

hybrid violet
#

And visual impact

hybrid violet
#

The two commands I think are most likely to have contributed when disabled are EnableFixed and ImportanceSampling

#

As they both had visible fps impacts not normally positive when enabled or disabled live

#

Meaning they do something for sure

#

Otherwise the big changes are disabling the absolute swath of RayTracing vars, enabling InitialTemporalCandidates and all that while also keeping both RIS vars on

#

Ah also disabling adaptive sampling

#

I think Enable Fixed might have interplay with Probabilistic as they’re in the same category

#

Maybe RIS and ImportanceSampling have interplay

#

ImportanceSampling vs ReGIR (naive path is IS?)

#

I don’t think it’s disabling all the ray tracing vars tbh (global shadow, diffuse; AO, etc)

#

Also turned off local light PDF var and debug ReSTIRGI duplicate var

#

Didn’t have time to break down all the changes just an experiment but it appears a productive one

#

And before I can confirm whether this performance change is pure positive or start breaking it down I should know if it actually cost anything visually

#

I don’t think we did but should confirm

hybrid violet
#

All interesting but I did definitively gain performance and could do 32 samples at the cost of 20

#

But 20 was doing more than 20 did

#

And 8 looked surprisingly usable

gritty geode
#

some small performance and bugfixes pushed

#

(tiny)

#

i think local lights batch size is only running one batch per frame, so if you lower the batch size, LLs just don't get drawn ... so basically batch size should be as big as RayTracing/LocalLight/Capacity

#

this could be why some people (i think without ultra fog) report smoke/steam flickering ... steam is a particle effect that uses a fake backlight 🤔

gritty geode
#

i'll take a look at your changes in a sec 😊

#

black sorceress needs coffeee badly

hybrid violet
gritty geode
hybrid violet
#

Might be unrelated just worth noting

gritty geode
#

afaik the paths are either one of:

  • IS > naive > denoisers (ReLAX + RTXDI in CP) ... OR
  • IS > RIS > naive > denoisers
  • IS > RIS > ReSTIR > denoisers (ReSTIRGI + RTXDI in CP)
  • ReGIR > IS > RIS > ReSTIRGI+DI > denoisers
hybrid violet
#

When I looked into ReGIRs code and RTXDI, it was basically
Uniform or RIS or ReGIR (with some inside uniform vs RIS at one spot inside ReGIR)

gritty geode
#

but because we're in untested code (and i don't consider CP's code to be properly tested anyway), it's reasonable to assume enabling one path doesn't necessarily disable [all of] another (including regular ray tracing)

#

the only way to know for sure is to run PIX and capture the frame timings for all of these modes

#

(and or reverse CP)

#

also something weird i just noticed .. shader executing reordering (SER) is a little slower for path traced (EnableReferenceSER) .... this is hardware level GPU queue optimisation, and i can't think of any reason it should be slower (other than if the pipeline is so short and regular, it costs more GPU to reorder it than to just do it)

#

so i've disabled it

gritty geode
hybrid violet
#

Yeah all of that was disabled basically

gritty geode
gritty geode
hybrid violet
gritty geode
#

if it works indoors, taht's amazing

#

3070 Ti in a laptop

hybrid violet
#

Maybe that’s it

gritty geode
#

so like 3060 Ti

#

absolutely possible

hybrid violet
gritty geode
#

my guess is they added ReGIR and then released before they had time to work on it

hybrid violet
gritty geode
#

my reasoning is, everything else rebuilds live ... if they'd had some time for release testing of ReGIR, they would have realised it doesn't (re)build the grid live and fixed it

#

so that means there are quite possibly other problems like other parts of code not being deactivated

hybrid violet
#

This is true. It’s funny with the ReSTIR GI shaders you can see them give up on the other shaders live as they left them in debug mode

#

And only used Fused

#

Which in the code is implemented single shader

#

Vs the other multi pass multi shader means

#

Turn off fused and you get half half comparison on your screen

gritty geode
#

oddly, if i set reference/bouncennum to 1 or 3 it slows down

#

but 2 is fine ¯_(ツ)_/¯

hybrid violet
#

I’m inclined to agree, I did my testing with 8 rays

#

Should murder my perf

#

Nothin

#

Turn off ReGIR and fps tanks

#

I think shading count may even be rays

gritty geode
#

yup. rays are for naive only imo

hybrid violet
#

Or samples per pixel

gritty geode
hybrid violet
#

Hmmmm is ImportanceSampling MIS (Multiple Importance Sampling) perhaps? I know they mentioned it being a final pass on the image

#

For quality

hybrid violet
#

But it’s damn effective like with the files above I was getting super usable results at 8

#

And 16 looked mostly converged

gritty geode
#

actually ... it's probably something like
buildnumber is the number of RIS areas per ReGIR grid sector
shadernumber is the number of rays per buildnumber per ReGIR

#

or something like that 🤔

#

we might find out on the weekend fMeatRub

hybrid violet
#

If I can recommend if you try the files when you get a chance, compare 1, 4, 8, 12, 16, 24 and 32

gritty geode
hybrid violet
#

Before 4 or 2 looked darker

#

Shading

#

Now 4 or 2 looks just less quality

gritty geode
#

huh okay

#

24 was an obvious improvement on cars in dark lighting

#

yep i will, downloading now

hybrid violet
#

It also helps disocclusion restore itself faster

#

Like have a shadow from a pole and a car drive through it

#

4-8 take a bit to recover. I found 24 or 32 sorted itself out fairly fast

#

4-8 your relying on the denoiser to accumulate

#

24 or 32 I think have a strong enough signal for the denoiser to trigger its fast path and fill quickly

gritty geode
#

yep

gritty geode
#

oh! also

#

these bright lines at a distance are phi luminance

#

they only appear in disocclusion

#

also NRD is fairly broken with those phi settings ... that is why CDPR had them so low

hybrid violet
#

We can go 1 1 I think, that’s settings I’ve seen in portal too

gritty geode
#

NRD can't deal with them

hybrid violet
#

But 2 is basically like cleanliness

gritty geode
#

yup

#

yes. we can leave it, and switch them when we detect NRD / RR change easily enough

hybrid violet
#

Works for me. Worth testing 1 vs 2 at some point

gritty geode
#

which i think is probably better than just nuking them

#

jup 😊

#

it's also possible CDPR applied some scaling factor ¯_(ツ)_/¯

hybrid violet
#

One thing I’ll try when home is compare all this vs vanilla

#

Like pure vanilla

gritty geode
#

oh, you've disabled ReLAX amterial test for everything?

#

*material

hybrid violet
#

Yeah it’s basically do we spatial test this material

#

For fast and history fix

#

I’m trying everything tested

#

Though it needs observation

#

Also, SSR fallback

#

Must be on I think

#

Vs appartment cooks itself without it dancing shit in reflections

#

Like fireflies or sampling issues ReGIR or no ReGIR

gritty geode
#

idk if that's still true for ReGIR tho

#

i'm merging our code since you didn't 😭 lmao

#

you've only tested this with ReGIR?

hybrid violet
#

Yeah

hybrid violet
gritty geode
#

haha you're fine 😊

#

that's when the best things are discovered tbh

#

the other thing to remember is even if some unused function isn't taking up frame time, it may be allocating memory .. another reason to disable anything we're not certain is important

hybrid violet
#

This is very true. Best way to test imo what helped is like put shading count to 3 and then test when its luminance drops entirely

#

Maybe 4. Ideally 4 should be usable image wise while before it tanked the overall luminance of the image

gritty geode
#

i've moved AdaptiveSampling to setmodes

#

is there a reason SetOption("RayTracing/Collector", "VisibilityCullingRadius", "2000.0") is increased to 2000 ?

hybrid violet
#

Yeah I did a lot of testing

#

200 is the minimum, 100 and 50 was having issues with pop in of shadows in and out

#

2000 helped avoid some scenarios where far buildings shadows were appearing and disappearing

#

1500 might be doable but I went to 2000 for safety

#

But I wouldn’t drop below 200 offset which just decided the radius which BVH culling is ignored

#

Seems it’s too aggressive at 100

gritty geode
#

you're quite a way behind the code

#

can you please update after this

hybrid violet
#

Yeah I hadn’t updated last night will when I’m home

gritty geode
#

is boiling filter even required for ReSTIRGI with ReGIR?

#

i'm merging everything 😊

hybrid violet
#

I think so but can be reduced to 0.2

#

Less bias but def wouldn’t nuke it

#

I’ve enabled btw Global Light as it seemed to help perf but it seems to be some alternate implementation of sunlight

#

I found the radiance from it to be much closer to what you’d expect, the shadows much higher quality especially in the far distance

#

Any bugs from it are when the frustum is too low

#

Causes issues with pop in

#

Which implies a different tracing means

#

Maybe more directly integrated into PT?

#

Either way with that option a larger radius BVH makes sense

#

Also interestingly you get like moonlight with Global Light

gritty geode
gritty geode
gritty geode
#

what's the perf difference?

gritty geode
hybrid violet
hybrid violet
hybrid violet
#

1500 is prob safe

gritty geode
hybrid violet
gritty geode
#

it happens with regir too?

gritty geode
hybrid violet
#

Might be worth testing now again post mass disable

hybrid violet
gritty geode
#

okay 😊

hybrid violet
#

Radius 2000

hybrid violet
#

Or in ray tracing

gritty geode
#

mm i can't remember 🤔

#

okay, pushing merges

#

i've moved a lot of stuff to setmodes and setquality

#

okay beta03 is live 😊

#

also now the debug drawer only renders if config.DEBUG = true now (hopefully, i can't test rn 😊)

hybrid violet
#

Nice, should prevent people breaking things

gritty geode
#

please trust me and pull, i'm not doing that again 😂

hybrid violet
#

Will do for sure first thing 🙂

#

Approximate Target PDF is mentioned in that slides power point pres by CDPR

#

They were trying something to avoid a simpler means they ended up implementing

gritty geode
#

oh okay. i just enabled it for everything

#

ah

hybrid violet
#

Idk if we’ve removed that simpler thing

#

I agree we should test it

gritty geode
#

i see no difference but it's a bit faster

hybrid violet
#

Oh nice

gritty geode
#

like 0.25 fps but every bit adds up

#

rule 1 of real time 3D - remove as much as possible as early as possible

hybrid violet
#

Also emissive proxy light rejection found out what it is

#

In these markets somewhere in the city it turned off a light in front of an emissive mesh

#

It’s basically like don’t proxy the emissive light as an actual light

#

Just rely on the emissive

#

I think they were trying things with emissive triangle lights and removing some of the analytical lights used to boost them where appropriate

#

But ended up with their naive emissive and just kept the analytical light

#

It doesn’t work reliably and will cull some lights imo tho since we can’t do emissive triangle lights we should keep it off

#

Or maybe for low

gritty geode
#

ah okay, nice one

#

pushed an update to remove it all ... i also removed Guess...() .... which i swear i did earlier? it's got me worried now

hybrid violet
#

Oh reference SER

#

Shader execution reordering

#

So prob yes may not be ideal for the 3000 series

#

But def for 4000 series should be on

gritty geode
#

it should work well on both tbh

#

i don't think there's enough shaders to reorder with PT

hybrid violet
#

I’ll check again, but for me at least I gained like 6 frames with it on

#

24 fps to 30fps

gritty geode
#

oh no you might be right

#

okay, needs to go back on then

#

pushed a fix

gritty geode
#

@hybrid violet CyanideX is getting 140fps on insane at 1440p 😂

gaunt hinge
#

is that how much you get with a 4090 with the new changes?

gritty geode
#

yes

#

he didn't have samples at insane... now does, and now getting 120 fps

gaunt hinge
#

still

#

really good

hybrid violet
#

Crazy

gritty geode
#

yay!

gaunt hinge
#

looks really good, too