Resolved Scene Editor Granite warning/error spam, and crash using custom campaign map

Users who are viewing this thread

Version number
e1.6.0
Branch
Beta
Modded/unmodded
Modded
Dump upload: 2021-07-08_18.10.45_3750681dc7c6903ca1c68e89ecbc5693

Summary:
When playing a campaign on our custom campaign map, granite spams our logs with warnings such as:
Code:
Granite Warning: W1005: Performance warning: A tile needs to be uploaded to a MipmapStreamingTexture with more than 256 redirects.
Granite Warning: Performance warning: The upload queue size is too small to fit all rectangles that need to be uploaded.
Missing shader from sack: pbr_terrain_gbuffer
Granite Warning: Performance warning: The upload queue size is too small to fit all rectangles that need to be uploaded.
Trying to make partial read on compressed asset data. This does not improve performance since partial decompression is not supported

There's obviously quite a few issues going on here, but it is very difficult to see what exactly is tripping it up without being able to debug the engine. The most obvious issues I can see is that a shader is missing, and we are potentially filling up a staticly sized buffer which is supposed to write geometry data to device memory.

The crash specifically occurs after opening then closing your inventory or the trade screen in settlements. I assume this is the straw that breaks the camel's back with that upload queue.

We've tested this in modules without any code/xml changes (ie. vanilla) and the crash still occurs due to something with our campaign map.

How to Reproduce:
Using our custom campaign map, load up a campaign, open then close your inventory and your game will crash.

Computer Specs:
OS: Windows 10
GPU: NVIDIA Titan X Pascal
GPU Driver Version: 471.11
CPU: AMD Ryzen 9 3950x
RAM: 32 GB
 
Last edited:
Can you send us the scene data?
Please RAR/ZIP the scene files and upload the RAR/ZIP to upload.taleworlds.com. Please also include the URL of this topic to the description box as well. There are 2 folders located under the below paths with your scene name:
  • WOTS\Modules\SandBox\SceneObj
  • WOTS\Modules\SandBox\SceneEditData
 
Can you send us the scene data?
Please RAR/ZIP the scene files and upload the RAR/ZIP to upload.taleworlds.com. Please also include the URL of this topic to the description box as well. There are 2 folders located under the below paths with your scene name:
  • WOTS\Modules\SandBox\SceneObj
  • WOTS\Modules\SandBox\SceneEditData
I already uploaded our scener's module and gave that to Dejan (as we're not ready to release it publicly), I can do this as well after work today though (y)
 
@Dejan I've traced one of the post inventory/trade screen crashes to a custom castle, which I applied a material using wall_castle_a_d and wall_castle_a_n. These are vanilla 4K textures used in normal mission scenes. However, reusing them in a worldmap is a problem, which needs to be flagged with a health warning. I extracted both textures with TpacTool, resized them to 2K and reimported them under new names. Using these the game runs fine without inventory crashes. Unfortunately, the 4K textures look fine in the scene editor and in-game they seem to perform OK until you dip in and out of inventory/trade screens, which I don't understand.
The other instance I've tracked down was also related to materials - where I'd edited settlements in scene to substitute their native materials for custom alternatives for greater variation. However, in this case they were 2K textures, so I presume it was caused by either:
a. scale of the substitutions (approx 3,000), or
b. having three different materials applied to the same prefabs in different places, or
c. something else.
It was previously reported here https://forums.taleworlds.com/index.php?threads/worldmap-compressed_shader_cache.445300/post-9726030
Either way, I can only assume these material problems cause some glitch in the granite texture streaming.
Any chance some documentation can flag pitfalls rather than letting us stumble into them?
 
Last edited:
Back
Top Bottom