Where is draw distance killing performance for you? I've been trying a ViewDistanceScale of 5 and performance isn't that bad, with FPS unlocked some areas still get decently above 30fps (don't have tools to measure exactly), towns can be choppy but even then they're not that bad (and are choppy by default anyway)Hopefully resolution is tied to gpu where we have more room for visual improvement, draw distance is tied to cpu and it’s already hitting ceiling at 2x scale and full cpu speed.
The framerate is pretty choppy in Gondolia at anything past 2.5 draw distance.Where is draw distance killing performance for you? I've been trying a ViewDistanceScale of 5 and performance isn't that bad, with FPS unlocked some areas still get decently above 30fps (don't have tools to measure exactly), towns can be choppy but even then they're not that bad (and are choppy by default anyway)
I've been enjoying it with FPS unlocked, I know some people can't stand unstable framerates but I prefer them to solid 30 personally. Battles in particular hold up pretty well framerate wise.The framerate is pretty choppy in Gondolia at anything past 2.5 draw distance.
Edit: Haven’t tried with FPS unlocked :o
I've been enjoying it with FPS unlocked, I know some people can't stand unstable framerates but I prefer them to solid 30 personally. Battles in particular hold up pretty well framerate wise.
Loud since I run at full overclockHow's the fan noise in that mode?
r.AmbientOcclusion.HalfRes=1 to 0 - works, does what you'd expect
bScreenshotCopyright=true to false - works, removes watermark from screenshots
r.DefaultFeature.AntiAliasing=0 - works, disables FXAA
r.DefaultFeature.AntiAliasing=2 - no apparent difference, expected to enable TAA instead of FXAA
r.DefaultFeature.AntiAliasing=2 + PostProcessAAQuality=6 - broken, TAA can be enabled but is jittery, I tried defining extra TAA parameters (sample count etc.) but they didn't fix it. Presumably the jitter also means the AA effect isn't fully applied.
r.RenderTargetInitializeBufferSizeX/Y=1600/900 to 960/540 - doesn't seem to have major impact, main menu logo resolution does seem to be affect by it so I think it has some impact, just not as much as cvar
+CVars=r.SetRes=1920x1080 to 960/540 - sets the display resolution. Weird that InitialBufferSize default is different than this, maybe that has more to do with render res than display res? (Note: For the comparison I also disabled the dynamic res, set render res to 100, and set the screen percentage to 100, so not exact comparison to base. Also, since screenshots are limited to 720p you can't get full comparison, cant confirm if its exactly 1080p)
r.PostProcessAAQuality=6 (without TAA enabled) - Not sure, hard to tell with compressed 720p screenshot given difference between AA setting levels is not massive. Presumably should work given changing it gets TAA enabled
r.MaxAnisotropy=16 - No apparent effect, nor does setting it to 1. I don't think this even worked on PC so not a surprise.
There is also MinimumDesiredFrameRate=25 in another ini in JackGame directory so that might be what youre searching.so in docked mode the game outputs a 900p image upscaled to 1080p (i.e. UE4 display resolution is 900p)? Is there any way to change this? Also, is the DynamicResolutionScreenPercentageSettings relative to the display resolution or ScreenPercentageSettings? i.e., if PartyTalk base res is 66.66% of 900p, is the 83.33% DynmaicRes setting making it so dynamic res allows it to go up to 83.33% of 900p if theres performance headroom, or make it so it can go down to 83.33% of that 66.66% under high load? Any tweaks to the dynamic res setup outside of min/max possible? (i.e. target FPS, % change allowed per update, etc.)
Regardless, thanks for the work!
EDIT: Is it Switch\SwitchEngine.ini "nvn.SyncInterval=2" to "nvn.SyncInterval=1"?
It’s my guess too that dynamic resolution percentage is relative to base screen resolution, and not relative to per area resolution settings.Also, is the DynamicResolutionScreenPercentageSettings relative to the display resolution or ScreenPercentageSettings? i.e., if PartyTalk base res is 66.66% of 900p, is the 83.33% DynmaicRes setting making it so dynamic res allows it to go up to 83.33% of 900p if theres performance headroom, or make it so it can go down to 83.33% of that 66.66% under high load? Any tweaks to the dynamic res setup outside of min/max possible? (i.e. target FPS, % change allowed per update, etc.)
Regardless, thanks for the work!
It doesn't even seem like Dynamic Res is even being applied, at least with the settings I've tried. Going to keep trying different setups, the settings are kinda all over the place. Wish I had the tools to properly measure framerate/res.It’s my guess too that dynamic resolution percentage is relative to base screen resolution, and not relative to per area resolution settings.
I tested @Kirby567fan mod and it stutters even slowdown in some areas, maybe it could be possible lower the resolution while also disabling the dynamic res.
For example setting all dynamic res to 100, and set all res settings to 83.33
There's a software called TrDrop that can analyse the framerate of a video but I don't know if the low quality of the recording of the switch will work well with itIt doesn't even seem like Dynamic Res is even being applied, at least with the settings I've tried. Going to keep trying different setups, the settings are kinda all over the place. Wish I had the tools to properly measure framerate/res.
As in pure 1080p, no dynamic res? Cause the framerate is very unstable at 921mhz gpuThere's a software called TrDrop that can analyse the framerate of a video but I don't know if the low quality of the recording of the switch will work well with it
But it should help you at least with the framerate
(also if someone could do a config for 1080p gameplay I would be really greatful)
If you could do that then yes or otherwise 900p. Again I would be very grateful if you could do that (I tried to do it myself but I'm too stupid to repack the files myself)As in pure 1080p, no dynamic res? Cause the framerate is very unstable at 921mhz gpu
; 固定解像度の場合のスクリーンパーセンテージ
+ScreenPercentageSettings=(TypeName="GameDefault",ConsoleModeScreenPercentage=66.66,HandheldModeScreenPercentage=66.66)
+ScreenPercentageSettings=(TypeName="PartyTalk",ConsoleModeScreenPercentage=66.66,HandheldModeScreenPercentage=83.33)
+ScreenPercentageSettings=(TypeName="PhotoMode",ConsoleModeScreenPercentage=66.66,HandheldModeScreenPercentage=100)
+ScreenPercentageSettings=(TypeName="CutScene",ConsoleModeScreenPercentage=83.33,HandheldModeScreenPercentage=83.33)
+ScreenPercentageSettings=(TypeName="Casino",ConsoleModeScreenPercentage=83.33,HandheldModeScreenPercentage=83.33)
+ScreenPercentageSettings=(TypeName="Custom")
; 動的解像度の場合のスクリーンパーセンテージ(据え置きは1600x900ベース、携帯モードは1088x612ベース)
+DynamicResolutionScreenPercentageSettings=(TypeName="GameDefault",ConsoleModeScreenPercentage=73.33,HandheldModeScreenPercentage=85,bDynamicResolution=False)
+DynamicResolutionScreenPercentageSettings=(TypeName="PartyTalk",ConsoleModeScreenPercentage=73.33,HandheldModeScreenPercentage=85,bDynamicResolution=False)
+DynamicResolutionScreenPercentageSettings=(TypeName="PhotoMode",ConsoleModeScreenPercentage=73.33,HandheldModeScreenPercentage=125)
+DynamicResolutionScreenPercentageSettings=(TypeName="CutScene",ConsoleModeScreenPercentage=66.66,HandheldModeScreenPercentage=66.66)
+DynamicResolutionScreenPercentageSettings=(TypeName="Casino",ConsoleModeScreenPercentage=73.33,HandheldModeScreenPercentage=83.33)
+DynamicResolutionScreenPercentageSettings=(TypeName="Custom")
Yeah, the dynamic res settings are driving me insane, no matter what settings I use it never seems to update.Attached a more balanced resolution that doesn't affect fps that much.
Strange enough ScreenPercentageSettings doesn't set the main resolution but DynamicResolutionScreenPercentageSettings
In fact you can set ScreenPercentageSettings to 0 and the game won't suffer any change lol, the new pack has dynamic res disabled too, but has slightly lower resolution overall
WOW thank you so much <3Well since people were able to decrypt DQXIS pak files, I updated my mod to edit romfs rather than exefs to acheive 60 FPS. With that I made some improvement to the mod f.e the resolution will drop as low as 360p if it cant acheive 60FPS so OC will not need to be so high even on open areas, and I also discovered how to edit the rendering resolution of the game so fixed 720p or higher is possible and the mod will work on any version of the game even if an update drops later. It should also work on the japanese version of the game but you should edit the titleid.If you want to use both mods at the same time just change the name of one of the paks to "pakchunk0-Switch_2_p.pak" btw the Hi-Res mod make the game run at 720p at all time so OC is needed.
+TextureLODGroups=(Group=TEXTUREGROUP_World,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WorldNormalMap,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WorldSpecular,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Weapon,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponNormalMap,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponSpecular,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Vehicle,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleNormalMap,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleSpecular,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Effects,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_EffectsNotFiltered,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_MobileFlattened,MinLODSize=1,MaxLODSize=2048,LODBias=0,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_World,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WorldNormalMap,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WorldSpecular,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Weapon,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponNormalMap,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_WeaponSpecular,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Vehicle,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleNormalMap,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_VehicleSpecular,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_Effects,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=linear,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_EffectsNotFiltered,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+TextureLODGroups=(Group=TEXTUREGROUP_MobileFlattened,MinLODSize=1,MaxLODSize=2048,LODBias=-1,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_SimpleAverage)
+CVars=r.StaticMeshLODDistanceScale=X
+CVars=r.ScreenPercentage=X
+ScreenPercentageSettings=(TypeName="GameDefault",ConsoleModeScreenPercentage=66.66,HandheldModeScreenPercentage=66.66)
+DynamicResolutionScreenPercentageSettings=(TypeName="GameDefault",ConsoleModeScreenPercentage=100,HandheldModeScreenPercentage=85,bDynamicResolution=True)
r.DynamicResolution.DecreasesResolution=18 - The minimum step to change resolution by? Not too sure
r.DynamicResolution.DecreasesResolutionMaxCount=30 - Presumably the max for the previous function
r.DynamicResolution.WaitFramesToUpper/LowerResolution=3 - The amount of frames to process after a high/low gpu load is detected before adjusting the resolution (to avoid overcorrecting)
r.DynamicResolution.Min/MaxTimeBudget=X - The "normal" frametime range, in milliseconds. With 33.33 ms being the frametime corresponding to 30fps, the default is to be slightly above/below 33. This can be adjusted slightly to have the game be more or less sensitive to high/low gpu loads (i.e. raise MaxTimeBudget so lower frametimes are allowed before lowering resolution, lower MinTimeBudget so higher frametimes are needed before raising resolution), or if your framerate is unlocked, can be adjusted to be based around 16.66 ms (60fps), or whatever frametime you want to target. AFAIK these values need to be integers.
r.DynamicResolution.Heavy/LightTimeBudget=X - Extended frametime range, not sure what the difference between this and Min/Max is, presumably there is a greater amount of correction when frametimes are out of this range compared to being out of the Min/Max range but within this range
nvn.SyncInterval=2
FrameRateLimit=30