the demented dimension

2017-12 Progress

2017-12 Progress

The current development task on TerreSculptor is to add the four new Extractors.
The next build release that features these updates will see a remarkable performance improvement in the Extractor functions.
The Extractors will also features such things as Zoom and Pan on the mask image viewport.

The new Extractors make heavy use of the blur and smoothing algorithms, which are not currently threaded.
So threading all of the blur and smoothing classes, plus adding any code optimizations, is currently being performed.
The current Smooth classes also perform 2D Kernel operations. Additional blur and smooth classes are under development that perform two 1D operations for additional performance gains.
Fully threading the few Extractors that are not currently threaded is also underway.

TerreSculptor’s coding design provides support for up to 256 threads on most of its threaded code.
Classes specifically to manage threading are part of the developed code base.

There will be additional threading implemented in future builds on other classes such as some of the Modifiers, including the Erosion Modifiers where possible.

Here are some preliminary test results of the smooth and blur threading update that is coming soon.
Two of the tests are on Intel i7 4-Core 8-Thread Processors, the third test is on an Intel i7 6-Core 12-Thread Processor.
The throughput of a Hyper-Thread is equivalent to typically a maximum of 10% to 15% of the throughput of a full core.
So an i7 4-Core 8-Thread has a typical throughput of about 4.5 Cores.
And an i7 6-Core 12-Thread has a typical throughput of about 6.75 Cores.

Test 1:

A 4096×4096 Noisemap on the Flowline Extractor with Smooth of 21×21 size and 100% strength.
Note: The Flowline Extractor algorithm itself is currently not threaded.

Processor
Intel i7-2600
Intel i7-4790
Intel i7-6800K

Unthreaded Smooth
52.61 seconds
43.33 seconds
39.16 seconds

Threaded Smooth
11.16 seconds
8.03 seconds
6.83 seconds

Test 2:

A 4096×4096 Noisemap on the Altitude Extractor with Smooth of 21×21 size 100% strength.
Note: The Altitude Extractor algorithm itself is threaded when Falloff = 0.