forked from fholger/vrperfkit
-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathvrperfkit_RSF.yml
211 lines (183 loc) · 10.1 KB
/
vrperfkit_RSF.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
# =============================== #
# VR Performance Toolkit RSF v3.2 #
# =============================== #
# dxgi.dll: If game uses its own dxgi.dll or other post-processor library, like
# Reshade (reshade.me), rename current "dxgi.dll" file to "dxgi_ori.dll" before copying
# dxgi.dll file from this VR Performance Toolkit. dxgi_ori.dll file will be lodaded
# through this toolkit automatically. For example, if you want to use Reshade, first
# install it, rename created "dxgi.dll" file to "dxgi_ori.dll", and then copy "dxgi.dll"
# from this toolkit. Reshade and VRPerfToolkit will work together. VRPerfToolkit will
# be aplied after Reshase.
# Upscaling: render the game at a lower resolution (thus saving performance),
# then upscale the image to the target resolution to regain some of the lost
# visual fidelity.
upscaling:
# Enable (true) or disable (false) upscaling
enabled: true
# method to use for upscaling. Available options (all of them work on all GPUs):
# - fsr (AMD FidelityFX Super Resolution)
# - nis (NVIDIA Image Scaling)
# - cas (AMD FidelityFX Contrast Adaptive Sharpening)
method: nis
# Control how much the render resolution is lowered. The renderScale is the percentage
# used to scale resolution used by the GPU to render. For example, a value of 50 (50%)
# means GPU will use half of pixels. This is same from how render scale works in SteamVR.
# If you set a value higher than 100 for renderScale, then the game will render at the native
# resolution, i.e. the one configured in SteamVR. But FSR/NIS/CAS will then take this render and
# upscale it to a resolution increased by the value of renderScale percentage.
renderScale: 70.0
# Configure how much the image is sharpened during upscaling.
# This parameter works differently for each of the upscaling methods, so you
# will have to tweak it after you have chosen your preferred upscaling method.
sharpness: 0.30
# Performance optimization: only apply the (more expensive) upscaling method
# to an inner area of the rendered image and use cheaper bilinear sampling on
# the rest of the image. The radius parameter determines how large the area
# with the more expensive upscaling is. Upscaling happens within a circle
# centered at the projection centre of the eyes. You can use debugMode (below)
# to visualize the size of the circle.
# Note: to disable this optimization entirely, choose an arbitrary high value
# (e.g. 100) for the radius.
radius: 0.95
# When enables, applies a MIP bias to texture sampling in the game. This will
# make the game treat texture lookups as if it were rendering at the higher
# target resolution, which can improve image quality a little bit. However,
# it can also cause render artifacts in rare circumstances. So if you experience
# issues, you may want to turn this off.
applyMipBias: true
# Fixed foveated rendering (FFR): continue rendering the center of the image at full
# resolution, but drop the resolution when going to the edges of the image.
# There are four rings whose radii you can configure below. The inner ring/circle
# is the area that's rendered at full resolution and reaches from the center to innerRadius.
# The second ring reaches from innerRadius to midRadius and is rendered at half resolution.
# The third ring reaches from midRadius to outerRadius and is rendered at 1/4th resolution.
# The final fourth ring reaches from outerRadius to the edges of the image and is rendered
# at 1/16th resolution.
fixedFoveated:
# Enable (true) or disable (false) fixed foveated rendering
enabled: false
# Method
# - vrs (Variable Rate Shading: This is only available on NVIDIA RTX and GTX 16xx cards)
# - rdm (Radial Density Mask: Compatible with any GPU. Hidden Mask will be disabled and Upscaling wil be enabled)
method: vrs
# Dynamic: FFR is applied only when needed to try to maintain at least target FPS
dynamic: false
# Target FPS:
targetFPS: 60.0
# FPS to start recovering decrasing radius.
marginFPS: 65.0
# Change default dynamic behavior: FFR is always enabled but dynamic mode changes radius dinamically
dynamicChangeRadius: true
# Minimal radius: This is the minimal radius applied to innerRadius when dynamic is enabled
minRadius: 0.30
# Decreased radius amount applied for each frametime check when needed
decreaseRadiusStep: 0.01
# Increased radius amount applied for each frametime check when needed
increaseRadiusStep: 0.02
# Configure the end of the inner circle, which is the area that will be rendered at full resolution
innerRadius: 0.50
# Configure the end of the second ring, which will be rendered at half resolution
midRadius: 0.65
# Configure the end of the third ring, which will be rendered at 1/4th resolution
outerRadius: 0.80
# The remainder of the image will be rendered at 1/16th resolution
# Edge radius: Creates a Hidden Radial Mask. Available only in RDM mode
edgeRadius: 1.15
# Only applies FFR to target renders that matches equal resolution to final render.
# Some games requires to disable it.
preciseResolution: true
# If not 0, FFR will be applied only to specific render target. Using a negative value will cause that
# used target will be count from last. For example, -1 will be applied to the last target.
renderOnlyTarget: 0
# FFR will not be applied to first and last specified target renders. Some games needs to skip
# some target renders to avoid crashes. This is different from HRM option. Target renders from VSR mode
# are different to RDM mode target renders.
ignoreFirstTargetRenders: 0
ignoreLastTargetRenders: 0
# When reducing resolution, prefer to keep horizontal (true) or vertical (false) resolution? Available
# only in VRS mode.
favorHorizontal: true
# When applying fixed foveated rendering, vrperfkit will do its best to guess when the game
# is rendering which eye to apply a proper foveation mask.
# However, for some games the default guess may be wrong. In such instances, you can uncomment
# and use the following option to change the order of rendering.
# Use letters L (left), R (right) or S (skip) to mark the order in which the game renders to the
# left or right eye, or skip a render target entirely.
#overrideSingleEyeOrder: LRLRLR
# Fast mode: When game renders each eye separatelly, enabling this will save a bit of performance,
# But overrideSingleEyeOrder will be ignored. Available only in VRS mode.
fastMode: false
# When fastMode is used, you can use HRM render targets counter instead default VRS counter. This will
# force to enable HRM. Ignored target renders configuration will be used from hiddenMask section instead.
fastModeUsesHRMCount: false
# Hidden radial mask (HRM) applies a render mask to avoid GPU rendering hidden pixel that are not visible
# in the headset and gain some performance without any disvantage. Not all games are compatible.
hiddenMask:
# Enable (true) or disable (false) hidden radial mask.
enabled: true
# Dynamic: HRM is applied only when needed to try to maintain at least target FPS
dynamic: false
# Target FPS:
targetFPS: 55.0
# FPS to start recovering decrasing radius.
marginFPS: 60.0
# Change default dynamic behavior: HRM is always enabled but dynamic mode changes radius dinamically
dynamicChangeRadius: true
# Minimal radius: This is the minimal radius applied when dynamic is enabled
minRadius: 0.85
# Decreased radius amount applied for each frametime check when needed
decreaseRadiusStep: 0.01
# Increased radius amount applied for each frametime check when needed
increaseRadiusStep: 0.02
# Edge radius
edgeRadius: 1.15
# Only applies HRM to target renders that matches equal resolution than final render.
# Some games requires to disable it.
preciseResolution: true
# If not 0, FFR will be applied only to specific render target. Using a negative value will cause that
# used target will be count from last. For example, -1 will be applied to the last target.
renderOnlyTarget: 0
# HRM will not be applied to first specified target renders. Some games needs to skip
# some target renders to avoid crashes. This is different from FFR option.
ignoreFirstTargetRenders: 0
ignoreLastTargetRenders: 0
# Game Mode
# Some game need a special mode:
# - auto (Default)
# - single (A single rendered image contains both eyes)
# - left (Each eye is rendered separatelly, and left eye is rendered first)
# - right (Each eye is rendered separatelly, and right eye is rendered first)
gameMode: auto
# This controls how many frames must be generated to measure frametime when dynamic mode is used
# with FFR and/or HRM.
dynamicFramesCheck: 1
# Enabling debugMode will visualize the radius to which upscaling is applied (see above).
# It will also output additional log messages and regularly report how much GPU frame time
# the post-processing costs.
debugMode: false
# Hotkeys allow you to modify certain settings of the mod on the fly, which is useful
# for direct comparsions inside the headset. Note that any changes you make via hotkeys
# are not currently persisted in the config file and will reset to the values in the
# config file when you next launch the game.
hotkeys:
# Enable or disable hotkeys; if they cause conflicts with ingame hotkeys, you can either
# configure them to different keys or just turn them off
enabled: false
# Toggles debugMode
toggleDebugMode: ["ctrl", "f1"]
# Cycle through the available upscaling methods
cycleUpscalingMethod: ["ctrl", "f2"]
# Increase the upscaling circle's radius (see above) by 0.05
increaseUpscalingRadius: ["ctrl", "f3"]
# Decrease the upscaling circle's radius (see above) by 0.05
decreaseUpscalingRadius: ["ctrl", "f4"]
# Increase the upscaling sharpness (see above) by 0.05
increaseUpscalingSharpness: ["ctrl", "f5"]
# Decrease the upscaling sharpness (see above) by 0.05
decreaseUpscalingSharpness: ["ctrl", "f6"]
# Toggle the application of MIP bias (see above)
toggleUpscalingApplyMipBias: ["ctrl", "f7"]
# Toggle fixed foveated rendering
toggleFixedFoveated: ["ctrl", "f8"]
# Toggle if you want to prefer horizontal or vertical resolution
toggleFFRFavorHorizontal: ["ctrl", "f9"]