#Hollow Knight - Silksong

1 messages · Page 2 of 1

brave ice
#

that last build posted gets it down to 200

keen lion
#

I've handled that before from some other game. Didn't really notice it here

thick moss
pearl night
#

yay pargon

#

Surprisingly its running at 576p on a switch(handheld mode)

keen lion
#

Even the main menu is only 700fps. Tunic goes to 1300 with 3d elements

#

might be the decompressing of textures every frame

#

Vram shouldn't be a concern, but the Unity engine back then was very memory conscious because it was basically mobile first

worthy hollow
keen lion
#

Simple DevKit draw on/off will tell you which shader is nuking fps

pearl night
keen lion
#

My guess is that 4096x4096 texture needs to be decompressed every frame

onyx zealot
keen lion
#

I did find a way to make 8bit/16bit hot swappable during runtime, but 8bit is so bad it shouldn't even be an option pepe_hide

regal yoke
#

Lilium's blue noise dithering helps a lot of you are using an LG OLED display for example, it's a lot better than the driver level dithering

#

it's kinda performance heavy though

keen lion
#

When I do texture stuff. Game already seems hammered on Steamdeck with shader math.

subtle mantle
#

Also qd oled

subtle mantle
keen lion
#

Probably better to fix the texture, then it's free

keen lion
#

i can tell if something is faster or slow based on coil whine 😅

#

these 4096x4096 bc7 unorm textures are killer

#

i'm just going to texture dump, and then make them rgba8u, that might make things a bit faster, even if more vram

#

time to try my igpu, 5090 too stronk

gleaming flint
#

Having a grand time modding Silksong, eh? 😄

keen lion
#

intel gpu crying

#

all draws bypassed , just black screen

#

can't even scroll discord

#

well, at least confirmed renodrt is faster than aces

#

sprites_lit from 95=>19fps

#

yeah, that 4096x4096 texture

keen lion
#

rip, can't dxcpl because xboxpass protection

onyx zealot
#

gog version > *

#

no drm wohlsam

keen lion
#
static SwapChainUpgradeTarget bc7upgrade = {
    .old_format = reshade::api::format::bc7_unorm,
    .new_format = reshade::api::format::r8g8b8a8_unorm,
    .ignore_size = true,
    .view_upgrades = {
        {{reshade::api::resource_usage::shader_resource,
          reshade::api::format::bc7_unorm},
         reshade::api::format::r8g8b8a8_unorm},
        {{reshade::api::resource_usage::unordered_access,
          reshade::api::format::bc7_unorm},
         reshade::api::format::r8g8b8a8_unorm},
        {{reshade::api::resource_usage::render_target,
          reshade::api::format::bc7_unorm},
         reshade::api::format::r8g8b8a8_unorm},
    },
};

got bc7unorm => rgba8u working, not sure if faster, but definitely means i can do texture replacement now

#

because if i can load a rgba8u buffer from cpu, then i can load a texture from disk

#

ooh, can do bc7 to bc3 as well

#

bc7 => unorm / bc7 regular

#

no real difference

#

bc7 vs rgba8u

#

repeatable, so it is faster

#

but the issue is more that it's a 4096x4096 texture which gets trashed for cache

onyx zealot
#

4.2% more fps

brave ice
#

i can do more testing tonight if you need a steam deck / linux freak

keen lion
#

i'm testing on my intel igpu

#

i can build this and you can try

#

but it's still cpu decompression which takes forever to load

#

might even take a minute, but after load benchmarkable

#

but data is data

brave ice
#

I'm no expert but I do know that the Xwayland HDR method is doing some fucked up swapchain shit since Xorg can't actually do HDR, so Valve has a hack to pull the data out of the application and forward it to the gamescope wayland compositor

#

no idea if that swapchain fuckery could be interfering with your /reshade swapchain fuckery

keen lion
#

seems like just expensive in general

#

i also put a 8/16 bit button to test

brave ice
#

I can't help at the moment, but later i can

brave ice
#

okay, baseline test from this version:

#

1080p since 1440p was too close to 60fps

#
ColorGradeBlowout=0
ColorGradeContrast=50
ColorGradeExposure=1
ColorGradeFlare=0
ColorGradeHighlights=50
ColorGradeHighlightSaturation=50
ColorGradeSaturation=50
ColorGradeScene=100
ColorGradeShadows=50
FxBloom=50
FxBloomClip=0
FxDrawPauseMenu=1
FxGrainStrength=51
FxHDRVideos=2
FxHeroLight=50
FxHueClip=50
FxSaturationClip=50
FxVignette=100
GammaCorrection=1
ToneMapGameNits=203
ToneMapHueProcessor=0
ToneMapPeakNits=600
ToneMapType=3
ToneMapUINits=203
ToneMapWhiteClip=100
brave ice
#

error 126 while loading the addon

#

alright, i gotta go, i'll be back later

thick moss
#

That makes no sense.

#

These are loaded from directx image files on disc directly, pre compressed. Cooked assets.

#

I didn't even think these formats supported being a render target. AFAIK they can decompress on the fly but not compress.

#

The advantage would be in used memory and bandwidth of moving around smaller compressed textures,

#

But yeah they are probably slower to sample, but probably not dramatically

crisp hedge
#

should I just use the one on nexus with default settings? Going to start the game soon. Thanks for the work on this!

dusty pelican
#

sent the link in the first message

crisp hedge
#

sounds good thanks!

keen lion
subtle mantle
#

I think I found a weird issue. Or maybe a byproduct of the game being made for sdr.

#

The hero light seems to clips some light sources to white when it’s over top of them. I’m not sure if this is just the hero light “coloring” it because I believe it’s a white light or if it’s actually clipping.

#

Also is the film grain a new thing for this game or does replace a built in system? @keen lion

keen lion
subtle mantle
#

Gotcha, thanks

thick moss
subtle mantle
#

I didn’t take one for some reason but I’ll take one when I’m home

signal cliff
keen lion
signal cliff
signal cliff
#

by the way, how do i install reshade on Silksong?

#

do i actualy run the exe this time ?

subtle mantle
#

if anyone has gotten to the ||second lane fight|| it looks fucking insane with the mod

onyx zealot
signal cliff
onyx zealot
#

yeah that works too of course

keen lion
signal cliff
#

Ok :3 gonna try that

keen lion
#

i put saturation clip down to 20. the d65 can look so off in highlights

#

vanilla / default / hdr-look / hdr-look +saturation_clip:20

dusty pelican
#

look pretty similar

#

color of the default probably looks closer to the other imo

onyx zealot
#

vanilla looks terrible lol, great job

#

can't even see hornet

#

unless discord on macos is frogging up the image

#

could be, but also looks bad in chrome, so maybe not

supple isle
keen lion
#

also in dark room/controlled environment

supple isle
subtle mantle
#

HUGE MEGA MASSIVE SPOILER WARNING

#

||Theres some weird blue on the "Black Silk." I've only seen it here. Its sorta kinda visable in sdr so im thinking it could just be a bad texture thats getting exposed by not being clipped.||

keen lion
#

i'm only on act2 just now

subtle mantle
#

||SDR for example||

keen lion
#

can't be clicking stuff 😕

subtle mantle
keen lion
#

lol, i'm pushing an update now, is this a bug?

#

or just pretty colors?

subtle mantle
#

im thinking its an example of a bad texture thats just getting exposed by sdr

#

i dont think its a reno bug

#

buts its minor

#

ive only found it in one spot

#

something to maybe fix, although idk if its possible, but not caused by an issue with reno

#

thats my theroy at least

keen lion
#

does it fix with Vanilla Look?

subtle mantle
#

lemme test

#

no

#

vanilla look actually just breaks it even further

#

in a different wat

#

way*

#

LOL

keen lion
#

does vanilla/off look the same?

subtle mantle
#

vanilla look?

keen lion
#

vanilla tonemapper

#

which is hard clip

subtle mantle
#

very close

#

yeah id say its the same

#

idk how do give much more info without spoilers so ig just lmk when you get to act 3

keen lion
#

vanilla/off should be the same as true vanilla, except for the 8bit binding (not worth replicating)

subtle mantle
#

yeah i think it is

#

just the gamma correction makes it look different

#

okay yeah its the same

#

i turned off gamma correction

#

but the issue is still ever so slightly visable in the normal game so i think its a game issue

#

if that makes any sense lol

subtle mantle
keen lion
#

add sdr options, more shaders, forced hdr option, remove swapchain proxy, use hdr10

subtle mantle
#

oh shit

keen lion
#

more sdr/performance stuff, except made hdr look use 25 saturation clip

subtle mantle
#

what does removing a swapchain proxy actually do?

keen lion
#

faster

#

more for steamdeckers

#

also removed aces because it's ass and slower

subtle mantle
#

ah

#

more shaders as in some stuff was missing?

keen lion
#

act 2 has more shaders, so it's just a more just in case

#

though most of that is only going to be when trying to supress bloom clip which is 0 by default

subtle mantle
#

so its unlikely to be a visable change but techincally they were clamped?

keen lion
#

no, by default everything is unclamped just by the 16bit upgrade

#

but people may want that clamping for whatever reason

#

at least for comparison

subtle mantle
#

ah okay

left karma
boreal cargo
#

If I had my HDR settings looking good, are there any new settings with the latest update I should take a look at and tweak?

keen lion
#

more quality of life, ease of use stuff in this build

subtle mantle
#

@keen lion ui brightness defaults to 200 instead of 203

#

how could you release something so broken

keen lion
subtle mantle
#

was it like that before?

keen lion
#

nope

#

fixed to 203

subtle mantle
#

ah

keen lion
#

now it's whatever you have for Windows HDR UI slider

subtle mantle
#

ill just set it to 203 then because i dont think you can get the windows ui to 203

#

i think it goes 200 then above 203 at the next notch

keen lion
#

i could make if that if it's 200, make it 203

#

let's do that before nexus

subtle mantle
#

that would be nice

#

cause id assume everyone who uses 200 actually wants 203 lol

keen lion
#

it's an int, so yeah

subtle mantle
#

i just mean from an end user perspective

keen lion
#
// SDRWhiteLevel represents a multiplier for standard SDR white
// peak value i.e. 80 nits represented as fixed point.
// To get value in nits use the following conversion
// SDRWhiteLevel in nits = (SDRWhiteLevel / 1000 ) * 80
ULONG SDRWhiteLevel;
subtle mantle
#

like the people who set their windows to be 200 nits probably wanted 203

keen lion
#

good ol' microsoft, using a ULONG for nits

subtle mantle
#

the fuck

#

microsoft must just not care

keen lion
#

it would be 2537.5 which is unrepresentable

#

so i'll force it 203

subtle mantle
#

same shit with decivce data

#

you cant have the eid or whatever its called be 1000

#

its 993 or like 1007 or some shit

keen lion
#

comes up 1499

#

that's the default in SDR for me

#

but could be panel reporting and the HDR calibration number isn't available when in SDR

subtle mantle
#

some monitors do their own internal fuckery when they get an hdr signal to my knowledge

keen lion
#

might be intentional to say clip up to 1500 and the display can tonemap the other ~50%

subtle mantle
#

@keen lion is it possible to tone done the itm on the cutscenes? 1k nits looks rough some times

keen lion
#

i had to do some weird stuff i don't normally do

#

also the act2 cutscene straight up didn't get scaled up

#

and when i pressed Home to check the devkit it skipped the video. had to watch it on youtube 🙁

subtle mantle
keen lion
#

yeah

#

was at ui nits

#

100 nits

subtle mantle
#

oh i see

keen lion
#

couldn't grab the shader either

subtle mantle
#

bt2446 is the same as just sdr right?

#

no enhancements, just displayed correctly

keen lion
#

no, it's itm

#

the somewhat official recommendation

#

Methods for conversion of high dynamic
range content to standard dynamic range
content and vice-versa

subtle mantle
#

ah

#

im asssuming its still using my peak brightness slider though, right?

keen lion
#

yeah

#

but also contrast and everything which is not how i usually do it

subtle mantle
#

i just tried it. still kinda has the same issues.

#

im looking at the fast travel cutscene

#

hornets head is just a spotlight

#

so so bright

keen lion
#

yeah, but that's ITM

#

it's full 100% white in the original

#

so that always maps to peak

subtle mantle
#

you could limit the peak for the ITM seperately though, no?

keen lion
#

generally i don't because it'll be inconsistent, but this is kinda borked anyway

subtle mantle
#

its inconsistent anyway though, no?

keen lion
#

shouldn't be, usually it's generally okay, but this isn't a 3d rendered game

#

3d rendered / real life doens't have 100% white normally

subtle mantle
#

i see

#

if you turn hdr videos off itll just be gamma corrected sdr, right?

keen lion
#

yes

keen lion
#

i put the latest build on nexus

sharp ivy
#

why is film grain before lut

#

is that just to match how it was done in the first game

pearl night
#

it clips at 1000 nits

keen lion
#

i forget if my grain is by luminance or not

#

or if it's per channel random

keen lion
#

oh, but i guess that screws up contrast

#

so it should be after tonemap

#

hmm, but then... it also is screwed by game brightness

#

nah that is fine, moving it after

sharp ivy
#

I never saw it go over peak in batman I'm pretty sure

keen lion
#

should basically be 1.0x in highlights

#

yeah, 80 contrast/100 grain is dark and gritty as you'd expect

#

0 grain for comparison

stiff valley
#

Compositors on Linux AFAIK can't do scRGB and Direct Scanout at the same time

#

It's possible only with PQ

keen lion
#

shadows to 55 for hdrlook

#

eh... i like it murky

keen lion
#

uncapped bloom is making things whiter than they should be. bloom clip 100 will make it like vanilla, but i'll still look into it

keen lion
#

there's hero light and hero glow 😕

#

only way to extra hero glow is by tracking the texture and the coordinates used

#

hero glow is massive

subtle mantle
#

I’ve started to notice the texture banding/edges more

night stream
#

New version are super cooked for me for some reason? The latest snapshot from the mods page and the latest version from the nexus page. Had to revert back to 20250905b to make it look normal

night stream
#

UI brightness slider didnt work also

sleek lantern
#

windows dolby vision mode screwing things up maybe?

night stream
#

Doubt it since the only thing I have done between these screenshots is change the renodx addon file from a newer one to older one 🤔

#

Tried resetting setting etc but nothing could get rid of that ugly oversaturation

keen lion
#

new addon actually turns on Windows HDR for you, which may have never been turned on

subtle mantle
#

Both those screenshots look cooked honestly

#

Unless it’s a discord mobile issue

#

Or it’s an absurd peak that my phone can’t do

#

Wait are these not screenshots

#

Are these pictures of your monitor?

#

Bruh

keen lion
#

it's fine. it's what he sees

#

probably some cooked HDR mode

subtle mantle
#

Yeah

keen lion
#

i intentionally made sure Windows HDR was turned on by default now because i couldn't imagine how many people don't turn it on or know to turn it on

left karma
#

that's a good qol feature

#

i sometimes forget to turn on hdr when i play a game with hdr

night stream
#

And yeah they’re pictures not screenshots, it doesnt matter really does it

keen lion
#

@night stream screenshot of renodx settings please

#

and reshade log if you can

night stream
#

Yeah wait I have to swap the version again

keen lion
#

no reason really why HDR10 should be borked, unless there's something else drawing on top of it, like a reshadefx.

night stream
#

this is what the UI brightness slider is doing for me on the new version

#

it adjust anything but the UI

keen lion
#

hmm, sounds like a missing shader

#

i took out swapchain proxy

keen lion
#

somebody on nexus said:

I must have had a major saturation bug when launching the game. I don't know why, but when I restarted the game, it disappeared, and now it's very clean...That's why I modified my comment in the meantime. I'm playing with HDR Look, and I just set the thumbnail to 0. Otherwise, it's very clean...
I wouldn't say no to different settings from other users to see the differences, anyway, thanks, boss.

#

probably related

#

@night stream do you have borderless on?

shell jasper
#

I just updated the game (GoG) and the addon, works fine for me, with my old preset

#

Maybe try to restart your GPU driver, nvidia sometimes behaves strangely when you turn on a monitor after turning on the PC (Like dxgi independant flip not working, for DSC monitors turned on after boot)

night stream
keen lion
#

i'm sure it's a custom shader that i don't have

#

i can't get fullscreen to work without hard crash

#

the game tries to change your windows desktop resolution

night stream
#

I had to disable reshade and renodx so I could change the setting

keen lion
#

exclusive fullscreen does a bunch of nonsense and probably does custom gamma

shell jasper
#

I just got this with latest addon though..

night stream
#

It was crashing with them on

keen lion
shell jasper
#

Right, I had toggled HDR/SDR in reno ui
If I start in HDR and don't touch that, it works fine

keen lion
#

well at least i'll be able to find why/where it crashes for others

thick moss
keen lion
thick moss
#

on laptops it's some other stuff

keen lion
#

i know

thick moss
#

it can mean to use the automatically calibrated display mode

#

and for some reason on some displays it breaks completely

keen lion
#

i have a dolby vision laptop

#

that doesn't have HDR

#

but it's an optional flag. for the 3 people who have that, they can turn it off

#

because some windows versions don't have enable HDR

#

so advanced color is best you can do (and also what microsoft recommends)

#

the hdr on is partially undocumented because microsoft, of course

thick moss
#

MS docs are a disaster

keen lion
#
static bool SetHDREnabled(const DISPLAYCONFIG_PATH_INFO& path, bool enabled = true) {
  if (GetHDREnabled(path) == enabled) return true;

  DISPLAYCONFIG_SET_HDR_STATE hdr_state = {};
  hdr_state.header.type = DISPLAYCONFIG_DEVICE_INFO_SET_HDR_STATE;
  hdr_state.header.size = sizeof(hdr_state);
  hdr_state.header.adapterId = path.targetInfo.adapterId;
  hdr_state.header.id = path.targetInfo.id;
  hdr_state.enableHdr = enabled ? 1 : 0;
  if (DisplayConfigSetDeviceInfo(&hdr_state.header) == ERROR_SUCCESS) {
    return true;
  }
  // Fallback to older struct
  DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE advanced_color_state = {};
  advanced_color_state.header.type = DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE;
  advanced_color_state.header.size = sizeof(advanced_color_state);
  advanced_color_state.header.adapterId = path.targetInfo.adapterId;
  advanced_color_state.header.id = path.targetInfo.id;
  advanced_color_state.enableAdvancedColor = enabled ? 1 : 0;
  return DisplayConfigSetDeviceInfo(&advanced_color_state.header) == ERROR_SUCCESS;
}
#

DISPLAYCONFIG_DEVICE_INFO_SET_HDR_STATE

thick moss
#

Yes I do exactly the same thing 😄

keen lion
#
static bool GetHDREnabled(const DISPLAYCONFIG_PATH_INFO& path) {
  DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO_2 advanced_color_info_2 = {};
  advanced_color_info_2.header.type = DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO_2;
  advanced_color_info_2.header.size = sizeof(advanced_color_info_2);
  advanced_color_info_2.header.adapterId = path.targetInfo.adapterId;
  advanced_color_info_2.header.id = path.targetInfo.id;
  if (DisplayConfigGetDeviceInfo(&advanced_color_info_2.header) == ERROR_SUCCESS) {
    return advanced_color_info_2.highDynamicRangeUserEnabled != 0;
  }
  // Fallback to older struct
  DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO advanced_color_info_1 = {};
  advanced_color_info_1.header.type = DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO;
  advanced_color_info_1.header.size = sizeof(advanced_color_info_1);
  advanced_color_info_1.header.adapterId = path.targetInfo.adapterId;
  advanced_color_info_1.header.id = path.targetInfo.id;
  if (DisplayConfigGetDeviceInfo(&advanced_color_info_1.header) == ERROR_SUCCESS) {
    return advanced_color_info_1.advancedColorEnabled != 0;
  }
  return false;
}
#

both DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO_2 and DISPLAYCONFIG_DEVICE_INFO_SET_HDR_STATE have no description on msdn

#

i think it's 26100 sdk (win11)

keen lion
#

they probably don't know what they're going to do with it yet

#

but it works on win11 at least

#

advanced color is just a windows 10 fallback at this point

keen lion
#

exclusive fullscreen does a subregion copy, that explains it

#

there's no point in supporting exclusive fullscreen, but i should figure out why it crashes

#

got cooked colors with exclusive fullscreen, so it was that. i'll throw up a warning

thick moss
#

i haven't debugged as it's trash and useless so

night stream
sleek lantern
keen lion
# night stream Old habits die hard. I still use it because back in the days it was recommended ...

Sounds like misinformation or outdated information, honestly:

With the release of Windows 10, we added Fullscreen Optimizations – which takes full screen exclusive games and runs them instead in a highly optimized borderless windowed format that takes up the entire screen.

https://devblogs.microsoft.com/directx/demystifying-full-screen-optimizations/

Flip model presents go as far as making windowed mode effectively equivalent or better when compared to the classic "fullscreen exclusive" mode. In fact, you may want to reconsider whether your application actually needs a fullscreen exclusive mode, since the benefits of a flip model borderless window include faster Alt-Tab switching and better integration with modern display features.

https://learn.microsoft.com/en-us/windows/win32/direct3ddxgi/for-best-performance--use-dxgi-flip-model

It's only relevant for Windows 7

#

Probably only makes sense in the context of exclusive fullscreen in Windows 7 vs not when not using flip. But flip model (required for HDR) is better

agile crypt
#

Ya iflip model fixed all of that since win8

shell jasper
keen lion
#

i did some general texture debanding and just doesn't help the textures. needs replacement. well, at least i have a dither system

#

baked banding

#

and because it's an atlas texture, you'd have to hard code which texture is the hero light glow and then manually expect the sampling coordinates to see if it's the one you want

#

you're better off doing texture replacement

#

it's just completely clipped in the texture itself, they dun goofed

#

posterized to show the clipping

keen lion
#

need to finish the game because textures have spoilers pepe_cri

dusty pelican
atomic ferry
#

real

worthy hollow
onyx zealot
#

Heya All, We're getting close to finalising the second post-release patch for Hollow Knight: Silksong. Where the first patch dealt mainly with critical issues, this next one focuses on a few still remaining, while also cleaning up some bugs around specific tools. The current version of that patch is now live on the public-beta branch (version: 1...

#

Added Dithering effect option in Advanced video settings. Reduces colour banding but can slightly soften the appearance of foreground assets. Defaults to 'Off'.

keen lion
#

I had my own dithering. Won't fix much unless you fix the textures

#

But compared to 8bit way better

silk loom
#

if they bothered adding dithering any chance they couldve updated the textures?

#

doubt it tho

onyx zealot
#

The current version of that patch is now live on the public-beta branch (version: 1.0.28626) if you'd like to test it for yourself. Expect a few more additions and tweaks before full release.

#

you can check it out already it seems

silk loom
#

oh true

onyx zealot
#

on steam at least

#

no idea if game pass has this concept lol

#

I doubt it?

silk loom
#

no chance

onyx zealot
silk loom
#

no way

onyx zealot
#

bless steamdb

silk loom
#

dumping rn

keen lion
#

They would have said so. I doubt they did. There's only some textures that are bad. Not everything. They're too different issues

#

16bit fixes compositing 8bit on 8bit so it barely needs a ditherer

#

They're fixing 8bit composition which renodx doesn't use

#

Renodx will still be limited by bad 8bit textures with baked banding

silk loom
#

right yeah

#

still the bad textures can still be improved even in 8bit right?

keen lion
silk loom
#

not sure if these are the right ones but

keen lion
#

Yep those

silk loom
#

yeah that banding is still atrocious lmfao

#

especially the middle left

keen lion
#

I did add dither to just that in realtime and didn't do much. Or you dither is so much you can't see jack

silk loom
#

yeah honestly im fine with how it looks with your dithering

keen lion
#

I have grain on when I play which is kinda the same

#

Though real dither would apply to all luminances

silk loom
#

oh i also have hero light kinda low too so i guess that makes it harder to see

keen lion
#

It's part of another shader which I was thinking of calling hero glow

#

It's what makes characters turn white when you walk by them

#

And the glow is that texture from above^

silk loom
#

oh really

#

didnt know that was separate

#

is all lighting texture-based or is there any procedural stuff?

keen lion
#

All compositing I think. Maybe hero light is the only procedural

#

Bloom is technical mixed. Both a texture compositing and procedural

silk loom
#

wait what

#

i thought for sure hero light was based off a texture

#

even though its just a circle lol

#

cos the banding

keen lion
#

Might be amplified by the glow. Will check. But the game really needs new textures first and foremost

silk loom
#

yeah

keen lion
#

hero light and hero glow both use the same megatexture

#

so fix that texture and banding is fixed on both

silk loom
#

yup

#

wonder why steamdb tracked an update though?

#

oh wait that was prob diff

#

yeah not the same texture i think nvm

keen lion
#

public beta

silk loom
#

yeah i just mean i guess they mustve changed some other texture for it

keen lion
#

i'm going to file with the team, see if they respond

silk loom
#

that would be awesome

#

highly doubt it though

#

by the way - with gamma correction off it just uses pq in hdr right? so its not needed?

keen lion
#

basically always, in all hdr

#

only reason not to is because your display is on SDR which does 2.2

#

that doesn't exist in HDR

silk loom
#

ive read through the whole windows srgb/2.2 mismatch, is it because of that

keen lion
#

not entirely

#

srgb/2.2 mismatch with Windows HDR is how it handles SDR content. the game is outputting in HDR, so it's kinda separate

silk loom
#

yeah thats what i figured

keen lion
#

we just don't handle SDR like Windows HDR would

#

we take the game output and do 2.2 on it, like a SDR display would.

#

so i renamed it SDR EOTF Emulation, instead of gamma correction

silk loom
#

oh and that needs to be compensated for?

#

i see yeah

keen lion
#

SDR would take the signal decode it as 2.2. It's a misnomer to really say "Off". Because you have to choose a way to decode SDR. "SRGB" decode is the default or off

#

except when in SDR, you do "SRGB" so the display does it as 2.2. it's weird

silk loom
#

ohhhhh i see what youre saying yeah

keen lion
#

the textures are already in srgb, because that's how they work

silk loom
#

wait so do monitors in hdr mode always use 2.2 or pq?

keen lion
#

so if you never decode the textures (and just overlay them), they're essentially in srgb the whole time. then your SDR display comes and decodes it as 2.2

#

monitors do PQ, which is just a transfer. it's not a custom look or gamma like CRT/SDR does

#

it's 1:1 what the display outputs

#

SDR being screwed up and special numbers is one of the major issues with SDR. not standard, or a mix of them which ends up meaning no one standard

#

in SDR what you output isn't what is display. it gets morphed by the display and you have preadjust for that

#

it's kinda insane

#

HDR doesn't have that. PQ Encode on graphics card out. PQ Decode on display

#

1:1

silk loom
#

right ok

keen lion
#

the official encoding for SDR depends on where in the world you are, what your environment is, and what year you're talking about

#

and the official decoding for SDR didn't exist until like 2005. it was just "kinda CRT-like"

silk loom
#

but games like silksong were presumably designed around 2.2 right?

keen lion
#

they weren't really designed at all,so you take SDR monitor default decode which is 2.2

silk loom
#

yeah

keen lion
#

official standard is called bt.1886 (2.4) and nobody grades to that outside of netflix

#

i don't even know what youtube is graded to. it's graded to what people use more. i don't even know if youtube is 2.2 anymore. might be "whatever the hell iphone does"

#

SDR is "whatever the majority of users are doing"

silk loom
#

i hadnt even considered stuff like that

#

so its best to set emulation to whatever the base game was created using right

#

which is usually 2.2

keen lion
#

yeah

#

i've legit only seen Ghost of Tsushima actually want 2.4

#

and do the proper SDR encoding for bt.1886

#

most games encode in srgb (do nothing) or use a 2.2 lut,

silk loom
#

how cinematic 😍

keen lion
#

but no game is asking you to turn on SRGB EOTF on your monitor (if it even has that mode, since my LG legit doesn't have it)

#

confusingly monitors refer to srgb: the color space (same as BT709), not SRGB the decoding

silk loom
#

yeah lol

keen lion
#

so "srgb" options on monitors can be vague

silk loom
#

so is renodx stepping in before the tonemap and thats why it has its own gamma setting

keen lion
#

it's a final thing that affects everything, including UI

silk loom
#

but the output of it otherwise is srgb eotf?

#

or the input

keen lion
#

everything is srgb encoding, and the final pass decode everything as 2.2, like a display would

silk loom
#

yes ok that all makes sense to me now

keen lion
#

that simplifies dealing with stuff. because, for example, UI shaders don't need to be decoded and encoded back to srgb. you can leave them alone

#

but for tonemapping. it decode as srgb, tonemaps, and then encodes back to srgb.

#

only what's called bg-srgb, which supports more than 1.0 values, and negative values for BT2020

#

(bg = big gamut)

silk loom
#

lol i like that

keen lion
#

there's some slight special math for peak nits, because it sets to a peak that will be, for example, 1000 nits, after the 2.2 decode

silk loom
#

thanks so much for explaining! planning on seeing if i can work on a mod myself sometime soon so its super helpful

silk loom
keen lion
#

yeah

#

though the variable for the tonemap to know to adjust peak nits because there will 2.2 at the end is the same variable used by the final output pass to know how to decode

silk loom
#

yeah just the inverse right

keen lion
#
float3 ApplyRenoDRT(float3 color, Config tm_config) {
  float reno_drt_max = (tm_config.peak_nits / tm_config.game_nits);
  [branch]
  if (tm_config.gamma_correction != 0) {
    reno_drt_max = renodx::color::correct::Gamma(
        reno_drt_max,
        tm_config.gamma_correction > 0.f,
        abs(tm_config.gamma_correction) == 1.f ? 2.2f : 2.4f);
  } else {
    // noop
  }
#
#define GAMMA(T)                                               \
  T Gamma(T c, bool pow_to_srgb = false, float gamma = 2.2f) { \
    if (pow_to_srgb) {                                         \
      return srgb::Decode(color::gamma::Encode(c, gamma));     \
    } else {                                                   \
      return color::gamma::Decode(srgb::Encode(c), gamma);     \
    }                                                          \
  }
#

so... take peak (max), then do pow_2_srgb

#

(inverse of what swapchain does)

silk loom
#

ok so then i dont even have to worry about the maths lol

keen lion
#

oh definitely not. the whole framework is built for devs to just focus on the unsolved aspects. mostly everything else is already "solved"

#

unsolved being game-specific nonsense

#

(upgrades, shader patching, etc)

silk loom
#

yeah awesome, thats what i was hoping

keen lion
#

there's a lot of defaults. so some mods end up being a couple of lines

silk loom
#

hmm i havent looked at my game properly yet but i have the feeling i might have to mess with its tonemapping

keen lion
#

other than boiler plate, i just did one shader patch: ```cpp
r0.xyzw = s_bloom.Sample(s_bloom_s, w1.xy).xyzw;
r1.xyzw = s_framebuffer.Sample(s_framebuffer_s, v1.xy).xyzw;
r0.xyz = r0.xyz * bloomAlpha * CUSTOM_BLOOM + r1.xyz;
o0.w = r1.w;
// r0.xyz = saturate(sceneBias * r0.xyz);
// r0.xyz = log2(r0.xyz);
// r0.xyz = float3(0.454545468,0.454545468,0.454545468) * r0.xyz;
// o0.xyz = exp2(r0.xyz);
if (RENODX_TONE_MAP_TYPE == 0.f) {
o0.rgb = saturate(sceneBias * r0.rgb);
} else {
o0.rgb = renodx::draw::ToneMapPass(sceneBias * r0.rgb);
}
o0.rgb = renodx::draw::RenderIntermediatePass(o0.rgb);

(comments are original)
silk loom
#

yeah looking through, that really is pretty small damn

keen lion
#

and one upgrade ```cpp
renodx::mods::swapchain::swap_chain_upgrade_targets.push_back({
.old_format = reshade::api::format::r11g11b10_float,
.new_format = reshade::api::format::r16g16b16a16_float,
.use_resource_view_cloning = true,
});

#

which isn't really required either. that just allows bt2020 colors

silk loom
#

best-case scenario, all you have to do is resource + swapchain upgrade right?

keen lion
#

you want to pass ToneMapPass somewhere so you get all the grading options, but the defaults handle all that

#

like what is user peak, is there gamma correction, what's the render/ui ratio. all that is handled

silk loom
#

yeah just to get proper hdr working i mean

#

not counting that stuff

keen lion
#

it's rare for a game to be in SDR most of the time. there's usually one specific where it goes HDR down to SDR, either by tonemap or clip

#

hollow knight is SDR the whole time, so a rather separate case. it's a 2D game, so it composites differently. but 3d engines are almost always in HDR until some final stage

silk loom
#

so you just have to find the shader that clamps and rewrite?

keen lion
#

so when looking backwards it's output => ui => postprocess/tonemap => render

silk loom
#

right yeah

keen lion
#

sometimes modifying the shader enough. but sometimes that shader that tonemaps/clip also writes to an SDR texture, so that has to be upgraded

#

because, if you're going to go from 16bit precision down to SDR output, there's no reason to 16bit at the end either. so it's kinda expected to clamp down to 8bit

silk loom
#

ah yeah

#

i took a look through renderdoc a little i guess that should make finding if that happens easier

keen lion
#

a common way is to render in hdr, go to 8bit srgb, and slap it on the swapchain or some intermediate buffer (sometimes for stuff like motion blur). then you can slap UI (already 8bit srgb) on top of the 8bit srgb render/postprocessed

silk loom
#

for something like that do you have to identify the 8bit tonemapping shader

#

and just rewrite so it passes through as hdr?

#

to a proper swapchain too

keen lion
#

you can usually find the hdr render at some point, see it in all 16bit glory, and then watch all the numbers go to 1.0. it almost always is a shader because a 16bit texture can't be copied to an 8bit one. there has to be a shader involved somewhere

#

even if the shader is return texture.Sample(position)

silk loom
#

oh wait so that should totally show up in renderdoc shouldnt it

keen lion
#

yep

#

if renderdoc works pepe_hide

#

i just use the devkit (that i wrote)

silk loom
#

having never used it before i was suprised at how intuitive it was

#

will def hop in with reno devkit though yeah

#

fuck it i might take a look rn

keen lion
#

renderdoc is much better in some ways, but devkit is kinda built for what we're looking for

#

renderdoc doesn't prioritize what we're looking for, which is tracking textures, their formats and tracking shaders

#

renderdoc is more interactive for passes

silk loom
#

yeah makes sense not as focused

keen lion
#

like, you know what you're looking for

#

as a dev of a game you built, it makes sense. for post process modding, not as much, since you don't know immediately what to expect

#

shader tracking in renderdoc is much, much more involved

silk loom
#

yeah honestly even sk seemed a lot simpler for shaders

pearl night
#

I've seen some claim that luma has less banding?

keen lion
shell jasper
#

I tried to improve the hero light texture and load it with SpecialK as RGBA16, and it would still have banding (with hero light set at 30 it's clearly visible and same)
it was quick and dirty test (basically blurring it) so maybe that's why, idk...
(I tested and SK was clearly loading that atlas texture)

keen lion
#

well, since it's just texture, pix is fine

#

uh, did they cut this out by hand pepe_hide

shell jasper
#

I could send it to you, though you should be able to dump it with SpecialK easily, as it's D3D11
Render mod tools, used textures

keen lion
#

you can drop it here

#

i'm more surprise pix doesn't let me dump

#

i don't think gradients are copyrightable

#

also fair use

#

ah i can dump, right click save as

#

i could they didn't notice the banding because they probably authored it like this

#

Hollow Knight Silksong_Data\StreamingAssets\aa\StandaloneWindows64\atlases_assets_assets\sprites\_atlases\core_glows.spriteatlas.bundle is the file

#

no need to add special texture handling stuff

#

the asset has the raw dds without the header, so texture replacement is going to effectively be the same. not much more information except how to map the atlas (no lossless rgba32 data)

#

less spoilers. time to beat the game

keen lion
#

as transparent png

shell jasper
#

Can you replace it with a "better" format ? (less banding)
At least SpecialK can let you replace textures with another format

silk loom
#

the format isnt the problem

#

theyre just bad textures

thick moss
#

a similar texture could be generated live in the shader based on distance from the center of the sprite

keen lion
#

you might as well just generate on top of the dds and replace it

#

it's 32bit rgba, could be done in photoshop

#

you don't need to engine/graphics mod either. just bundle it again, it's in Hollow Knight Silksong_Data\StreamingAssets\aa\StandaloneWindows64\atlases_assets_assets\sprites\_atlases\core_glows.spriteatlas.bundle

#

it's Unity 6000.0.51

keen lion
#

this game is so loooooooooooooooong

#

i think i'm done and i find a new location

young pagoda
#

Feels like Elden Ring all over again and definitely lived up to the hype. In Elden Ring I had a couple moments of holy shit the map is huge, and I'm getting the same feeling over and over in Silksong.

atomic ferry
#

good to hear, cant wait to play it myself

#

btw i was doing some testing of rtss vs reno limiter. Really happy with the results i can basically get rid of rtss outside of games where i cant use addon build

#

First 2 are RTSS, last is RenoDX cap

#

RTSS might still be a super tiny bit more consistent

trim pendant
#

rtss has reflex so

atomic ferry
trim pendant
#

it has nv reflex injection

#

so your latency will be super low

atomic ferry
#

i dont do that i think

#

atleast anything reflex is disabled in rtss settings, not sure if it still does anything in the background

shell jasper
#

I use SpecialK but yeah RTSS with reflex limiter should be as useful for a game like this imo

shell jasper
gleaming flint
#

But ... is there a feature in there, or any other tool, where I can assign different FPS capo on monitor level?

#

I want my OLEDs to do 144, while others to do 120, that kinda thing?

#

Instead of app based, just wanna put a global limit on panel itself.

shell jasper
#

SpecialK save the frame limiter by monitor, so if you do Win+Alt+arrow key to move the window to another monitor, it will adapt

#

Though you have to set it once for all app, for each monitor lol

#

Maybe you cam do what you want with the default_SpecialK.ini 🤔

gleaming flint
#

Yeah, I know about SK. It basically saves it as a profile for each panel, and it's neat.

#

But that's not a global option.

#

And I can't use SK in every game.

#

But that was definitely one of my fav. features of SK.

shell jasper
#

People say SK doesn't work well with RenoDX but the rare case it is true, it works fine as local inject.

#

Anti-cheat games ?
Works fine for most gacha, but yeah...

gleaming flint
#

It doens't work fine with local inject, I've been using SK for years and there's a reason Kal left this server.

#

It's a black box when it comes to compatibility between those two.

#

Same setup can work for you, and not for me.

#

And vice versa.

#

And yeah, anti-cheat games.

#

And overall compatibility issues as well, as I just opt to use RenoDX by default in games.

#

As they're more transformative than QoL stuff SK offers me.

atomic ferry
#

yeah for me SK and Reno was big no together in many games

gleaming flint
#

In a perfect world, I'd love to use both but no.

#

I had to work ass backwards to make sure AC Shadows continued working with RenoDX after patches

#

Found random ass fixes that I reported to Kal as well.

#

i.e. disable FG in ini and launch game, and it'll work fine

#

But if FG is enabled, it'll crash.

#

Can enable FG later in-game once launched and it'd work etc

#

So, yeah.

#

PainCentral.jpg

gleaming flint
#

For a tool that is supposed to take away pain points.

#

Not to mention, performance hit.

#

I had a good 5-6fps hit with SK + AC Shadows with central install.

#

Local install worked fine.

atomic ferry
#

Kinda offtopic btw

keen lion
gleaming flint
#

Or maybe it was more than that, I forget.

keen lion
gleaming flint
#

Oh

#

lmao, right

keen lion
#

also lets crosire jump in and apply fixes, just better there

atomic ferry
#

makes sense yeh

gleaming flint
#

Yeah, I've seen y'all collabing there.

#

pmnox, too.

#

Addon programming channel.

shell jasper
#

Injecting reflex in the reno frame limiter would be cool 🙏

keen lion
#

i think pmnox did it in his addon

#

fps limitter is like a couple of lines i wrote in a day

shell jasper
#

Having to launch rtss and close it depending on games I play is painful

keen lion
#

the fps limitter i wrote amounts to like 20 lines of code

atomic ferry
# atomic ferry

@keen lion in case you care about the framecap testing i did between yours and RTSS front edge

#

in silksong in this case

keen lion
#

basically theory is it's running fine but you can't know you're oversleeping if you don't relax it one cycle

atomic ferry
#

i see

#

tbf both are very very good

keen lion
#

i had a separate sleep method, but honestly that line is so flat, it's hard to make it better

atomic ferry
#

if i zoomed out a bit so its not in sub milisecond territory you wouldnt be able to tell shit

#

yep

keen lion
#

it works on emperical testing, which trusts nothing, no clock cycles, no advanced sleep timing, no windows API to try to sleep

atomic ferry
#

ill probably still use rtss because i can use it globally and set it once

#

but yours is very good

keen lion
#

i have a commented-out, second timing method, but hard to tell one flat line is better than another

atomic ferry
#

if you have any "test build" i can check it out

shell jasper
#

I guess it should be as good as SpecialK VRR optimized with reflex injected 🤔

atomic ferry
#

isnt that the same one

shell jasper
#

The one linked din renodx readme ? No
This one has nvidia reflex

keen lion
#

compared to renodx-fpslimitter? pmnox's has reflex i think

atomic ferry
#

oh i see

#

sure can test that

shell jasper
#

I wonder if it works more like "normal" or "vrr optimized" in SK 🤔
With reflex in both

atomic ferry
#

vrr optimized is just that it does some offset

#

for my my 165hz i would cap at 156 or 157

#

i just do 156 manually to be safe

keen lion
#

@atomic ferry i dumped one with the RENODX_FPS_LIMIT_HR_TIMER flag set in #🧑‍🍳early-access-feed

shell jasper
#

Hmm not sure, I mean you can still click the green button to have that headroom even in normal mode.
The vrr optimizer is in the list alongside gsync mode, while the vrr bias is a green button

keen lion
#
  // Use sleep/timer for as much as reliably possible
  auto wait_duration = time_till_next_frame - busy_spin_duration;
  bool changed_busy_spin_duration = false;
  if (wait_duration.count() > 0) {
#if defined(RENODX_FPS_LIMIT_HR_TIMER)
    static const HANDLE WAITABLE_TIMER = CreateWaitableTimerExW(
        nullptr, nullptr,
        CREATE_WAITABLE_TIMER_HIGH_RESOLUTION,
        TIMER_ALL_ACCESS);
    auto remaining = wait_duration;
    auto ticks = remaining.count() / 100;  // 100ns ticks
    while (remaining.count() > 0) {
      LARGE_INTEGER due;
      due.QuadPart = -ticks;
      SetWaitableTimerEx(WAITABLE_TIMER, &due, 0, nullptr, nullptr, nullptr, 0);
      WaitForSingleObject(WAITABLE_TIMER, INFINITE);
      remaining = next_time_point - busy_spin_duration - std::chrono::high_resolution_clock::now();
    }
#else
    std::this_thread::sleep_for(wait_duration);
#endif
keen lion
shell jasper
#

That's needed for accurate reflex yeah

keen lion
#

reflex needs before present and after present. which needs newer reshade

#

reshade never gave us after present until pmnox asked for it

atomic ferry
#

ok so display commander shows the proper cap as well, neat

shell jasper
#

What is available in "fps limiter mode" ?

atomic ferry
#

in mode this

#

i dont need scanline sync

#

ill have to test each injection type i guess

#

tooltips dont say which is the best mode for frame present consistency

#

Display commander cap Option 0 / 1 / 2

#

0 seems best

#

early access test build @keen lion

keen lion
#

seems noisier than what's on the repo?

#

the early-access build is the same timing method as SK

atomic ferry
keen lion
#

can you do a/b of latest vs EA so i can more easily compare

atomic ferry
#

sure

keen lion
#

i have my doubts that constant pinging/callback of ticks. would probably get wonky. basically asks 100nanosecond callbacks, and probably harrasses the system so much it starts affecting other things. probably stealing CPU from other threads, causing scheduling issues

atomic ferry
#

maybe but then again, this is very clean overall, we are in sub milisecond analysis here

#

ill try the ingame and driver cap for the fun of it

#

just to double check for the current (non early access) i use the one linked in utilities there right

atomic ferry
atomic ferry
#

ive tried making the graph exact same size of 6.8ms to 5.8ms

#

Github defo cleaner overall but had higher max deviances

keen lion
#

probably at that 5 second resync

#

because it's legit sleeping for most of the time whereas the other one is constant polling

atomic ferry
#

I'll redo the display commander ones to make it more comparable

#

displaycommander mode 0 in comparison

shell jasper
#

Would be cool to see SpecialK vrr with reflex on+boost and vrr optimized/normal cap

But yeah displaycommander looks quite nice aleeady

keen lion
atomic ferry
#

my bad

#

random RTSS lies of P i have lying around in the same 1ms graph window

#

so yeah displaycommander 0 and rtss front edge probably as clean as it gets

keen lion
#

latency on fps limitter is probably from computing the 1% lows

#

because ea is the same method as display commander

#

but still has the histogram numbers

atomic ferry
#

for transparency all results are Gsync + Vsync forced in NVCP

#

As it should be for purist frametimes

tawdry karma
#

@rocky surge cooked 👨‍🍳

atomic ferry
#

i would try SK in Silksong but i have reno installed and probably will want to rip my nosehair out trying to make it work together

keen lion
#

should it be windowed as well?

atomic ferry
#

nah full screen is fine because borderless is also considered that

#

i found that many applications that arent games really dont like it when they have vrr, which they get when you set windowed there

#

looks so nice with reno and the music

keen lion
#

because yellow turns to green in SDR

atomic ferry
#

well you see the settings bottom left in the beginning

#

i just adapted your hdr look preset slightly

keen lion
#

as in, because of this game, i've seen new colors

atomic ferry
#

OH

#

nvm haha

keen lion
atomic ferry
#

that prolly looks bonkers on my G5 in 2500+ nit

keen lion
#

yeah, there are some nice flash bangs in this game

#

reasonable as well, which is just explosions

#

there's a purple one late game

#

well, late act2

shut vale
#

oh wow this game looks amazing in hdr

#

next on my list for sure

atomic ferry
#

sadly most people will never witness the beauty of this in hdr because they arent aware of reno or dont have a good HDR screen

#

but i guess that goes for all games

#

i have not finished the first hollow knight yet so im on really fucking around with HDR in Silksong, not actually playing it much tbh

keen lion
#

i don't dwell on it. it's why i say i make games for me, because the alternative is rather depressing

#

i could go back to hollow knight 1 and the newer tonemapping stuff, probably should

#

it just bleaches things white a bit more, so not more colors or anything

atomic ferry
#

ill probably wait if you do make some changes for OG hollow knight even if its small

keen lion
#

probably takes about 15 minutes. could do it later today, including the SDR/HDR thing

#

the game also shares some shaders

atomic ferry
#

sounds good hehe

#

no worries if you dont find the time tho lol, i have plenty other shit to play

keen lion
#

the second isn't really that tied to the first, but has different mechanics, so you're probably better off with HK first for consistency

#

there are some elements that play on your possible expectations having played the first one, but they are minimal

atomic ferry
#

oh its not? i thought like story wise they would be connected

#

good to know

keen lion
#

i thought it was prequel until 30 hours in

#

then looked it up and it's a sequel instead

left karma
#

much much later on (like, end of the game) there's some nudges to HK

atomic ferry
#

i see

#

i mean prolly makes sense to play normal HK before

keen lion
#

According to Team Cherry developers, Hollow Knight: Silksong is a sequel that takes place after the events of Hollow Knight.

left karma
#

I don't think it's required to have played HK before Silksong, but those references will look neat when you encounter them

atomic ferry
#

i like to understand even slight references tbh yeah

keen lion
#

i'm pretty sure they originally said it was going to be a prequel, but the game was planned years ago

left karma
#

lore nerds will insist you have to play it probably kekBomb

atomic ferry
#

originally it was supposed to be a DLC to HK

#

kek

keen lion
#

the lore rivals Kingdom Hearts

#

i don't understand it, nor do i plan to. but it's not forced on you either

atomic ferry
#

is that good or bad ive not played KH ever

#

i only enjoy the music

keen lion
#

very convoluted

keen lion
#

can't even get it explained

#

also, don't watch that if you're going to play the game

#

2 minutes in. already lost

#

and i 112% the game

atomic ferry
#

yeeh i wont watch haha

#

until im done with that game

keen lion
#

though the way this guy narrates doesn't help. he's not trying trying to explain. he's basically talking in prose

left karma
#

lore usually goes over my head pretty quickly

keen lion
#

trying to sound whimsical, which is horrible for an explanation video

atomic ferry
#

that does indeed sound bad

keen lion
#

it's not a "look, there are these dude and these dude"

atomic ferry
#

i mean ive watched a bunch of lore stuff on dark souls, which is very hard to grasp unless you read every item description and read up on wiki or watch videos on it

#

im sure itll be fine xd

keen lion
#

i also recant what i said about kingdom hearts. i'm pretty sure there's a 6 to 8 hour explanation video that ends with "look, it doesn't make sense but you at least understood enough to know what they're talking about"

atomic ferry
tawny solar
#

I am so over lore videos trying to do story time. just gimme the facts presented in an orderly fashion

keen lion
#

i'm watching/had-watched this one https://www.youtube.com/watch?v=0XDiWYFGGqY

It's been three years to the day since Team Cherry's Hollow Knight was first released on PC. Join me as I chronicle the lore of Hallownest from the very beginning to the multiple endings. If you're a long time subscriber, thank you for the ongoing support. If you're new here, I hope this video captures your interest.

If you want to watch this v...

▶ Play video
#

doesn't take it seriously

#

this reminds me of the crazy stuff in tunic. tunic the enemy sound effects can be translated if you slow them down and decode them, they're actually saying something

#

but tunic is definitely on a whole other level since the mystery of the game is core to the gameplay

atomic ferry
#

Dude the first time I tested tunic Reno I was like bro did I install the wrong fucking language or sumn?

atomic ferry
#

i see, yeah that adds up with my findings

#

0 for sure the best in my measurements

#

im always for the best pacing

#

way more important to me than having the very lowest input lag possible

#

in RTSS i always use front edge sync for example

#

in my testing that was the best for pacing

#

but has small lag penalty

#

i cannot tell the diff in input though so..

#

I would argue RTSS is still slightly better but its really close

#

left is rtss

#

Capframe X

#

great frametime capture tool

#

yeah

#

in general with display commander the vast amount of framtimes is actually closer packed together than rtss but it has more outliers

#

if you can fix those somehow then yours would be even better

#

i was doing some testing with 24 fps cap and you can measure crazy detailed frametime variations kek

#

sure

#

that is a lot worse

#

@rocky surge

#

wait fuck sorry

#

it remembered the settings i had from testing earlier today

#

i was on mode 2

#

@rocky surge this is the correct result for 0

#

hard to say

#

the outliers arent as bad

#

but the ones that arent outliers are not as tightly packed together as green

#

ill test new build now

#

basically identical

keen lion
#

i realized that if i use the volume dial on my keyboard and the windows volume indicator pops up, my frame rate tanks

#

i'm sure it's MPO related

atomic ferry
atomic ferry
#

Give me a few mins I’m not on my pc right now

shell jasper
#

What about SpecialK "Low latency - VRR Optimized" mode ? (with reflex+boost enabled)
In the dropdown with "normal" and the gsync one

#

Are you sure you're not talking of auto-vrr mode button ?

#

so your reflex mode is same as normal mode + nvidia reflex in SK ? 🤔

#

oh mb it's in the readme 😅

atomic ferry
#

i the reno nightly the wrong one???

#

thats what ive been using for all these tests

shell jasper
#

nah, should be based on a nightly ver recent enough
if it loads, should be fine lol

atomic ferry
#

this

#

linked in welcome channel

#

yeah

#

ok trying the last display commander now

#

btw is it fine to have the present pacing delay at 0%?

#

should i try something different?

#

ight

#

ah i see

#

yeah if i set 100% or so i cant even reach 157 fps

#

itll drop to 140 or so

#

oh this seems really good

shell jasper
#

I tested SpecialK vs Display Commander in a few scenarios
180fps cap on a 240Hz display, where I can easily go to 300+fps
@rocky surge @atomic ferry

#

I wouldn't have guessed SpecialK "low latency" to be this worse than the normal one, in terms of framepacing, damn

atomic ferry
#

lowest latency is basically guaranteed to have worse pacing i think

shell jasper
#

Yeah, though to test latency, best would be to have these hw thing on the display too lol

atomic ferry
#

you always trade off a small amount of latency to get better pacing

shell jasper
#

It seems SpecialK normal + reflex is better than Display Commander (variants and peaks)
idk how SpecialK low latency reduce latency that much (compared to nvidia reflex)...

atomic ferry
#

yeah this

#

like thats superb

#

im not sure sk gets better than that

#

way less and smaller outliers

shell jasper
atomic ferry
#

ok @rocky surge still has work to do

#

well

#

technically it has worse lows

shell jasper
#

a few big spikes are probably a "game skill issue", but yeah

atomic ferry
#

can you rerun that maybe

#

yeah

shell jasper
#

With RenoDX framelimiter added
(btw it's Display Commander 0.3.1, not nightly)

atomic ferry
#

try the one i used

shell jasper
#

ah...

atomic ferry
shell jasper
#

Ok that second run with SpecialK normal mode + reflex+boost is crazy lol (beside the unity game engine skill issue)
@atomic ferry

atomic ferry
#

trying SK rn without any reshade or reno

#

ah nice silksong crashed

#

god how i hate this tool

shell jasper
#

SK + Reno in HK:S works for me fine, in local inject
with the game in borderless first

atomic ferry
atomic ferry
#

Ok so. SK Normal + Boost | Display commander latest test build both zoomed to the exact same millisecond window (6.52ms upper 6.22ms lower)

#

had to crop out the first 10 seconds on SK because it was stuttering which i never had on other limiters kek

shell jasper
#

SK by default will start with vrr optimized on a vrr display
need to force it to normal

atomic ferry
#

i have

shell jasper
#

looks worse than what I got, weird

#

You should just do both a 10sec capture with some delay, and restart the app so the window zoom is at "default"

shell jasper
# atomic ferry i have

You did something like this ?
Right click the framerate number and tick vrr bias basically
or well if "auto-vrr mode" is enabled (green box), should work, but idk, you wouldn't have SK normal framelimiter enabled... though reflex should replace normal anyway...

#

I got better framepacing on my end, with a 180fps cap 🤔

atomic ferry
#

in sk itself it looked very good but thats not what came out at the end iunno

shell jasper
#

you use the hotkey to capture, without changing window focus right ?

atomic ferry
#

yh

#

iunno in here looks super clean if you look at the "variation"

shell jasper
#

depends on what "graph measurement" you use

#

Looks like you don't have game mode enabled for that game, or you use a weird power plan, idk...

shell jasper
atomic ferry
#

i dont have windows gamebar, thats why

#

wasnt open

#

and i chose end of frame because SK says it better

shell jasper
#

it's rarely worth it though, afaik
also in silksong lower latency is a good thing lol

atomic ferry
#

tried to make it as best case as possible for sk

shell jasper
#

yeah idk, feels like another framelimiter is running behind the scene and conflicting

atomic ferry
#

iunno cant be bother with sk anyways

shell jasper
#

Works on my machine ™
I literally never have issues with SK + reno lol
if it behaves weirdly, I do local and that's it

atomic ferry
#

happy for you

shell jasper
#

SK is not smart enough to use only one ? lol

#

So invictus is using reflex above (well, both running), while I am using "normal" because I set it below the reflex cap ? (180 on 240Hz)

atomic ferry
#

that makes sense

shell jasper
#

hmm, so reflex is basically useless when you use a framecap way below your refresh rate ?
Or it still reduce latency by doing smart thing in the game engine or smth

#

I see, interesting, thanks
though I am a bit skeptical 180fps with "normal mode" would have significantly more latency than 224fps reflex+boost
I mean a few ms at most...

atomic ferry
#

did cap it at 144 in sk to see if that makes any diff, reflex shouldnt interfere here i think?

#

165hz

#

reflex cap there is 157.4 or sumn

#

sk does 156.63 with the 0.5% offset

#

Or that, yeah

#

anyways gotta sleep

#

hope i was able to help somewhat

shell jasper
#

wow you're recording 60sec, that could be why it visually looks worse compared to my 10sec recording lol

#

Maybe a unity game is not the best thing to compare framelimiter lol, they all have "big" random spikes from the game it seems, even SK normal mode
Could be the engine garbage collector or a script or smth
Well a longer recording should smooth out the jankiness of the game/engine

shell jasper
#

low latency mode is different from reflex, right?
it's the thing in nvcp (also available by right clicking some stuff in SpecialK iirc)

subtle mantle
#

@keen lion what’s your current main objective? Just curious how far you are

keen lion
#

only have "Silk and Soul" wish

#

just grinding looking for stuff though

#

missing two fleas as well

#

just slapping walls until something opens up because i know where i need to go, but can't find a path

shell jasper
#

There's an NPC you can pay to get fleas locations btw
idk if it can show all of them though

keen lion
#

yeah, i have two left, can't get to them

#

just floating icons on a map. can't get a way to them

#

actually 1 left

shell jasper
#

I installed the teleport mod just to skip the runback to Last Judge boss lol

#

Though there's another way to get into the citadel

keen lion
#

running around looking for secret passages was fine, except now i bought everything from every shop so i'm just wasting time, nothing to grind

#

maybe i'll complete the bestiary

#

i just found a weak wall in the citadel but it was to enable getting an item, but i already got the item by cheesing (bouncing on spikes)

subtle mantle
#

Cause I have a feeling a know what flea it is

keen lion
#

and i definitely did unintended strats for the citadel, probably sequence breaking

#

got important movement mechanics after already having faced the final boss

#

(i'm assuming for act 2)

keen lion
#

got it, lol, i think (edit: yeah)

subtle mantle
#

i dont think you have to sequence break for that

#

what requires it?

keen lion
#

||clocktower section, the final jump requires it or you have to have enough silk to LT twice||

#

er, wrong button

subtle mantle
#

||also i never would have found that flea cause i had no idea that area even existed. I had to look it up lol||

subtle mantle
keen lion
subtle mantle
keen lion
#

legit i was doing it and i'm like. i'm missing a move, and i know what move i'm missing

subtle mantle
#

lol

#

for what i saw there were a ton of people beating the game without it cause everyone forgets that other area exists

keen lion
#

when you have no silk left, it's clear you're missing a move

subtle mantle
#

fair

#

i guess if you just have silk you wouldnt think twice

keen lion
#

well got all the fleas, let's see what i get

#

pretty sure i'm missing one memory locket as well

subtle mantle
#

i.. have no way to reply to that without spoiling i think

keen lion
#

just hoarding them hoping there will be another || crest||, because i don't like any of them

subtle mantle
#

i will not accept ||reaper ||slander

atomic ferry
#

Interesting

atomic ferry
#

is there a dedicated place for this topic? I feel like alot of the information here will get drowned over time

#

maybe make a thread in Lab or something?

#

or a forum post in mods like DLSS Fix

regal yoke
#

which strategy causes more severe VRR flicker?

keen lion
atomic ferry
#

because its so real

keen lion
#

git gud!

atomic ferry
#

hahaha

keen lion
#

need to finish the game now. youtube algorithm is just silksong spoilers now

shell jasper
#

I looked at a (good) interactive minimap, it's crazy the number of items on the map

keen lion
#

silksong release trailer has some act3 spoiler stuff, so might as well share similar things

#

these are 800/172 because can't be bothered to take real shots while playing

atomic ferry
#

oi i didnt watch the trailers