Game: on a 6 GB card VRAM goes over the driver's allowance after a few area changes, Hyrule Field falls from 31 to 14 fps until a restart (GTX 1060, nightly-189) #939
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/tooling
area/upscaling
beanstalk: approved
beanstalk: needs approval
beanstalk: running
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
risk
high
risk
low
risk
medium
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot#939
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Longshot version
nightly-189-aa95d35f (source 719431ac); the same on nightly-171-b80a68f1 in a 75-minute play session
Channel
Nightly
What kind of problem
Low fps or stutter
What happened
On a 6 GB card the game's VRAM goes past what the driver allows within a few area changes. From then on Windows keeps
part of it in system memory (the game's "shared" GPU memory grows to 3-4 GB), and the frame rate falls. It does not come
back until the game is restarted.
Measured on nightly-189, a fresh start of the same save, one scripted tour through the control bridge. Hyrule Field at
noon (debug Set time) was measured at the start and again at the end, the same teleport spot, uncapped, 15 one-second
samples. In between came Forest Temple, Kokiri Forest, Lost Woods, Zora's River, Zora's Domain, Hyrule Field, Market,
Kakariko and Death Mountain Trail, 2.5 minutes each with the camera turning. About 31 minutes in all.
vk: VRAM:used / allowedAlong the tour (after each area; VRAM used / allowed, textures / budget, the process's shared GPU memory):
vk: GPU timein the Field goes from 26.3 ms a frame fresh to 55.8 ms after the tour (the longestsubmission 8.3 to 22.0 ms), and the readbacks that wait for their write-back from 0.74 to 26.47 ms each.
and destroyed every frame: 527 made new at the first Field measurement, 72,228 made new and 71,996 destroyed by the
last one (about 2,300 a minute).
imports:93 live (1584 MB) to 97 live (1980 MB), 21 to 154 retired (992 to5116 MB given back); heap 1 (system) used 1948 to 2702 MB.
1.6-2.9 GB. Most of them were used in the last frames (the 171 session's log: "used in the last 8 presents 1668 MB" of
2358 MB), so the eviction has little it may let go of.
free in the blocks). The compaction is on (the default).a card under 60 fps near its VRAM limit: this is one.
The 171 session (normal play, 75 minutes: Forest Temple for an hour, then 8 outdoor areas) ended at 6-10 fps in
Hyrule Field, with VRAM at 6.3-6.6 GB of 5.2 allowed, textures 2.3 GB against a 42 MB budget, and 368 render-target
images. Closing and starting the game again gives ~31 fps there.
The same tour with other settings (Hyrule Field at noon, fresh / after the tour; one start each):
RX_VK_LOAD=createRX_VK_LOAD=create+ Render resolution 50%RX_VK_MIRROR_MB=1024With
RX_VK_MIRROR_MB=1024the VRAM stays inside the allowance after the tour, but the textures are squeezed to 353 MB(budget 276 MB, 217 textures) and it is slower from the start, so a smaller mirror only moves the problem.
At Render resolution 50% the same tour still ends over the allowance (5440 of 5204 MB) and the render-target churn is
the same (92,962 made new), but the Field only drops from 41.1 to 34.2 fps (GPU time 17.6 to 22.3 ms a frame). So on
this card the drop scales with how much the frame needs from VRAM; 50% is the workaround used here for now.
Where in the game
Anywhere outdoors after a few area changes. Measured in Hyrule Field (adult).
How often
Every time
Graphics card and driver version
NVIDIA GeForce GTX 1060 6GB, NVIDIA 582.28 (Vulkan; no mesh shaders, the compute fallback)
CPU, RAM and operating system
Intel Core i7-8700 (12 threads), 32 GB, Windows 11 Pro (build 26300)
Changes from the defaults
Docked, windowed, Output 2560x1440, Render resolution 75% with the game's own upscaler, Anisotropic filtering 16x,
Frame generation off, Threaded rendering Auto, frame rate cap Uncapped for the measurements (60 in play). No
longshot_env.txt.longshot_log.txt
The status lines of the tour (nightly-189), at the start and the end:
Screenshots or video
None.
Before you send it
Related: #771 (eviction waits by time), #637 (under-8 GB VRAM management, the same 5,233 MB allowance), #813 (RTX 4050 6 GB on
nightly-189), #388 (memory growth by area), #805 (programs loaded before the title on the compute fallback).
Measured by an AI agent (Claude Code) on the reporter's PC.
RX_VK_LOAD=createmeasured on a second such card (RX 5600 XT): same fps or better, loads of 50 ms at worst #805Possibly related, for context:
Two open PRs aim at parts of this, both WIP and not yet run on a 6 GB card: #943 lets old render targets go once several newer ones together cover them (the render-target images here grow 111 to 232), and #518 caps the target image pool and counts it in the texture budget. A run of either on this tour would tell whether they help.