fix(graphics): size the texture budget from the host instead of the g… - #76
fix(graphics): size the texture budget from the host instead of the g…#76LightZirconite wants to merge 1 commit into
Conversation
|
hey @LightZirconite #73 could you consider visiting my branch ? I have made serious smoothness to the interface , like leaked memory and duplicated calling - I would like another set of eyes looking at it |
…uest Roblox sizes its resident texture budget for the Android guest. On a PC host the Vulkan backend still lands on VULKAN unifiedMemory = false, device memory = 5894524928, host memory = 2947260416, setting caps.videoMemory = 67108864 so the engine works with a 64 MiB texture budget even though the device advertises 5.5 GiB. TextureManager2 then keeps only the smallest mip levels resident: surfaces render blurred, and the SurfaceAppearance and material texture packs fail outright with Failed to load ...SurfaceAppearance. PBR textures may not be visible. Asset (Image) "" load failed in fetchTexturePackTextures: Request failed which is why parts show up as flat untextured plastic. Publish a host-sized budget through Roblox's own FIntRenderForceVideoMemorySize override: an eighth of host memory, clamped to 256 MiB..1536 MiB, and only when the host has at least 4 GiB. The value is merged after fflags.json and the environment, so an explicit user override always wins. Verified against the real client (Roblox 2.734.917, RADV VANGOGH): with the override present the engine reports the requested budget instead of the 64 MiB default, using the same string encoding LoadAndMergeFflagsFile produces.
885af36 to
e6b0db5
Compare
Sure — left my notes on #73. Short version: the atomics and the ALooper refcounting look correct to me. The |
this is debated. also ? what is the Roblox room ? you tried it on ? I thikn i have a more clever fix for it |
…uest
Roblox sizes its resident texture budget for the Android guest. On a PC host the Vulkan backend still lands on
VULKAN unifiedMemory = false, device memory = 5894524928,
host memory = 2947260416, setting caps.videoMemory = 67108864
so the engine works with a 64 MiB texture budget even though the device advertises 5.5 GiB. TextureManager2 then keeps only the smallest mip levels resident: surfaces render blurred, and the SurfaceAppearance and material texture packs fail outright with
Failed to load ...SurfaceAppearance. PBR textures may not be visible.
Asset (Image) "" load failed in fetchTexturePackTextures: Request failed
which is why parts show up as flat untextured plastic.
Publish a host-sized budget through Roblox's own
FIntRenderForceVideoMemorySize override: an eighth of host memory, clamped to 256 MiB..1536 MiB, and only when the host has at least 4 GiB. The value is merged after fflags.json and the environment, so an explicit user override always wins.
Verified against the real client (Roblox 2.734.917, RADV VANGOGH): with the override present the engine reports the requested budget instead of the 64 MiB default, using the same string encoding LoadAndMergeFflagsFile produces.
Fix:
