L3DT development blog
Large 3D terrain generator

Progress on L3DT 16.0X

Hi Everyone,

This is just a quick post to let you know I'm still alive and still working on L3DT v16.0X.

The current state of play is that v16.0X is feature complete but still in testing. Some major changes were made in December and January in how L3DT manages memory, particularly when using large non-mosaic maps or large tile sizes in mosaic maps, and also when the system is under high memory loads.

The long-running memory allocation problems with large non-mosaic maps and large mosaic tile sizes were addressed in January by switching to scanline-based non-contiguous RAM pages for small maps and mosaic map tiles. This change appears to be working smoothly for small maps (<2k) and for large maps (>16k). However, I have noticed some infrequent odd behaviour when using intermediate map sizes (2k-8k), which corresponds to a size range where L3DT has, since v11.08, used a memory mapped file to load and page map data. I suspect this won't be too terrible to sort out, but if problems persist, I'll just disable the memory mapped files and either use the scanline-based all-in-RAM maps for larger map sizes, use the conventional disk-paged mosaic maps for smaller map sizes, or some combination of the two. We'll see how that goes.

The other problem of using L3DT under high system memory load is the trickier one to test, as it requires the generation of huge datasets (circa 32k x 32k pixels or larger) whilst stating and stopping other memory-intensive applications, just to see if L3DT chokes or sheds memory and suspends threads as it's supposed to. I'm not entirely convinced it's all working perfectly yet, so lately I've been running big multi-day map builds and batches to see if I can provoke or reproduce errors. [Incidentally, I've improved the batch system to be slightly more intelligent and user friendly, but more on that later, if I remember.]

Anyhow, the take home message is that I intend to be testing and tinkering for a couple of more weeks at minimum. I want to convince myself that the memory management is rock-solid before I let this one out the door.

If you're using the latest developmental build (v16.01 build 3), please let me know if you find any bugs, either by using the forum, or by e-mailing aaron@bundysoft.com.

Best regards, Aaron.

l3dt/2016/feb/26.txt · Last modified: 2017/08/31 04:37 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
L3DT Development Blog RSS Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki