In Progress Scene Editor Tools crashes on saving SceneEditData terrain_ed.bin for 512x512 worldmaps with detailed materialmaps

Users who are viewing this thread

Version number
e1.5.9.
Branch
Main
Modded/unmodded
Unmodded
I'm currently working on two versions of the same 16x16 node worldmap with a 105 metre node
length:
1. 512x512 single node dimensions
2. 256x256 single node dimensions
They use the same height map and material maps. I have no problems with the 256x256 version,
but the 512x512 version crashes when attempting to save its SceneEditData terrain_ed.bin
where there are more than a minimal number of paint layers holding detailed material maps.
Occasionally, instead of crashing it creates a 0Kb or 1Kb terrain_ed.bin which then crashes
the editor on reload. The editor has no problem loading detailed material maps (it's slow to
process 8k maps), it just can't save them. This happens every time.

This is a bug, not a pc problem as CPU and memory usage remains light during saves prior to
crashing. Crashes with any material map covering a significant portion of the campaign map
after about the third or fourth paint layer.

Bannerlord Tools version e1.5.9.268958

Computer Specs:
Windows 10
8GB NVIDIA GeForce RTX 2070 SUPER
Driver version 21.21.14.5671
AMD Ryzen 7 3700X 8-Core 3.59GHz CPU
32GB RAM
 
Using a 512*512 node resolution with 16*16 nodes would mean too much terrain data. 512*512 resolution is only meant for very big nodes which should be used deep inside the playable area and at most 1 or 2 nodes per scene. We do not make every node 512*512 in any scene, let alone 256. We always reduce the resolution of the outer nodes. With a simple math, the weightmap and heightmap data 16x16 nodes with 512*512 resolution of 4 layers is around 4GB. Which is the internal limit of our terrain data compression utility. If you go with, lets say 8 or more layers, it becomes even more. No mod should go this high with the numbers because the players will not have that much GPU memory. If the memory is enough, the runtime performance will be bad too. A better question would be, why do you need to go that high with the layer weightmap resolutions?
 
Using a 512*512 node resolution with 16*16 nodes would mean too much terrain data. 512*512 resolution is only meant for very big nodes which should be used deep inside the playable area and at most 1 or 2 nodes per scene. We do not make every node 512*512 in any scene, let alone 256. We always reduce the resolution of the outer nodes. With a simple math, the weightmap and heightmap data 16x16 nodes with 512*512 resolution of 4 layers is around 4GB. Which is the internal limit of our terrain data compression utility. If you go with, lets say 8 or more layers, it becomes even more. No mod should go this high with the numbers because the players will not have that much GPU memory. If the memory is enough, the runtime performance will be bad too. A better question would be, why do you need to go that high with the layer weightmap resolutions?
Hi Murat, thanks for your swift response. I hadn't realised that your compression utility had a 4Gb ceiling. After these problems, I tried exporting 4k materialmaps out of my 256 x 256 version and importing those into my 512 x 512 version, but even though these materialmaps are much lower resolution, I still experienced editor crashes on saving.
I'll keep working on the 512 x 512 version as I can build better 16K vista normal maps from it in World Machine after sculpting in river beds, which improve my 256 x 256 version. It'll just be a non-publishable production stage.
I'll also explore downscaling outer nodes to improve optimisation on a hybrid version.
I'm curious, why does the compression ceiling only relate to the saved terrain_ed.bin file as I can clearly exceed this limit inside the engine/editor and have no problem saving the SceneObj files?
 
Last edited:
For the importing part, whatever resolution you are using as a source texture, it will be upscaled or downscaled to the terrain resolution defined in engine. This is the reason why you are still experiencing the crash. For the error part, we can add a warning about the internal compression size limit.
 
For the importing part, whatever resolution you are using as a source texture, it will be upscaled or downscaled to the terrain resolution defined in engine. This is the reason why you are still experiencing the crash. For the error part, we can add a warning about the internal compression size limit.
Ok thanks. I knew the engine down scaled my 8k height maps for the 256x256 map, I hadn't realised that it also upscaled its 4K material maps when importing them back into the 512x512 version.
An error warning would be most helpful.
 
Last edited:
Back
Top Bottom