To isolate the impact of the compression configuration from the geospatial surfaces’ morphology, the experiments were conducted as an ablation study over a controlled family of eight synthetic DSMs of progressively increasing complexity. The evaluation focused on the following:
Lastly, based on the best RLE compression configuration, experiments on real 3D LiDAR derived DSMs for various locations were done as will be shown in the continuation. All experiments were done on an NVIDIA RTX 4090 (24 GB GDDR6X with CUDA 12.6) and AMD Ryzen 9 7950X CPU. Each reported time is the mean of 10 runtimes, using only runtimes within the 95% confidence interval.
3.1. Ablation Analysis over Synthetic DSMs
The eight synthetic DSMs, denoted
data1 to
data8, span an order of magnitude in voxel count and are summarised in
Table 1. Their annual solar potential is visualised in
Figure 7. Typical meteorological year (TMY) [
41] of diffuse and direct hourly measurements from Maribor, Slovenia, were used as the irradiance input for all of them. They were generated by combining low-frequency Perlin-noise terrain with a controlled population of cuboidal buildings of increasing density and height variance. The resolution of the voxels was set at
m
3, the albedo was set as constant
, and viewshed discretisation was fixed at
patches across all the experiments.
For the ablation analysis, eight configurations of the compression pipeline were compared with the baseline. The baseline
no_compr stores
uncompressed in 32-bit integer form. The RLE variants are denoted
rle_〈bw〉, where the suffix
lists the active bit-width groups. For example,
rle_4_16_24_32 activates the 4-, 16-, 24-, and 32-bit RLE groups (i.e., groups
to
). These variants thus span all the non-empty subsets of
combined with the
as fallback. This enables us to isolate the marginal contribution of each RLE variant both to compression effectiveness and to the runtime decompression cost. Furthermore, comparison to two general-purpose GPU based integer compression methods were performed, namely BP32 [
27] and Elias-Fano (EF) method [
28].
Figure 8 shows the
across all dataset-variant combinations, where the horizontal stability of the colour bands evidences the near-invariance of
with respect to dataset size. Three further trends stand out. The 4-bit group is the dominant compression lever: activating it raises
rle_16_24_32 (
) to
rle_4_16_24_32 (
–
), and
rle_8_16_24_32 (≈2.38–
) to the full
rle_4_8_16_24_32 (≈2.53–
). The complete
rle_4_8_16_24_32 attained the highest ratio on every dataset, whereas as expected the
rle_24_32 had the weakest (
), confirming that the lower bit-width groups, not the 24- or 32-bit fallback, drove the overall compression. Both general-purpose baselines were also surpassed on every dataset, with BP32 reaching
–
and EF ≈2.04–
.
Figure 9 reports the GPU memory consumed by the neighbour-storage buffer. For the baseline
no_compr, the footprint scales linearly with
V, rising from 0.423 GB at
data1 to 29.610 GB at
data8. The full
rle_4_8_16_24_32 scheme was the lightest configuration on all eight datasets, e.g., 0.155 GB vs. 0.423 GB on
data1 and 9.807 GB vs. 29.610 GB on
data8, a ≈63% on
data1 and ≈66% on
data8. In contrast, the
rle_24_32 carried the largest residual footprint among the compressed variants. In practical terms, the achieved
extends the reach of the method directly: at
data8’s per-voxel viewshed footprint (≈2.5 KB uncompressed, ≈0.8 KB compressed), a 24 GB device can keep resident the viewshed of
million voxels uncompressed, but
million voxels compressed. This corresponds to roughly three times larger areas at the same spatial and angular resolution.
data8 itself (
million voxels) already exceeds the uncompressed budget, with the runtime consequences quantified below.
Figure 10 shows the total time
breakdown for all the variants and baseline. This time includes all the steps from viewshed estimation, data compression and irradiance estimation with on-the-fly decompression, including all data transfers between the host and the device. During these tests, the GPU processor clock was fixed at 2235 Mhz, in order to mitigate possible fluctuations further. As expected, most RLE variants were slower than
no_compr, but the relative gap narrowed with increasing
. The best configurations were
rle_4_24_32 and
rle_16_24_32, whose
data6 runtimes (
s and
s) lie within 2–
of the baseline (
s), while
rle_24_32 and the full
rle_4_8_16_24_32 were the most expensive, up to
times. BP32 remained competitive with the weakest RLE variants (
–
times the baseline), whereas EF was the slowest method overall at
–
times, its costlier decoding outweighing a
comparable to that of BP32. On
data8 the trend reversed entirely: the uncompressed neighbour storage (
GB) no longer fits into the device memory, so the GPU device driver spilled the excess into the shared system memory. Consequently, every compressed variant completes in
–
h against
h for
no_compr.
To distill the storage-speed trade-off into a single comparable score, we evaluated the results further using two derived metrics adapted from the lossless-compression benchmarking literature [
31]:
where
[MB/s] is the decompression throughput, defined here as the volume of original viewshed data decompressed effectively by the GPU per unit time.
The metric
E reflects how many original bytes per second are restored, normalised by the size of the compressed storage. The results are shown in
Figure 11. The metric is most informative as a relative ranking, where it discriminates between variants on the basis of how much compression they extracted per second of effective work. In practice, RLE variants with lower groups enabled were the most efficient. The
rle_24_32 was consistently the least efficient, ranking last on every dataset behind BP32 and EF as well.
On the other hand, the metric
(with units of GB/s) represents the joint reward, since a configuration scores well only if it is simultaneously high-compression and high-throughput. As shown in
Figure 12,
increased broadly with dataset size for the RLE variants. Although not monotonically, e.g.,
rle_4_16_24_32 rises from
to
GB/s between
data1 and
data8, with the favourable
data3 scene breaking the trend. This again reflects the amortisation effect, where as
grows, both the throughput term
and the bandwidth-effective work per token rise, while
remains stable. In contrast, BP32 stays nearly flat (
–
GB/s) and EF even declines, so the gap in favour of the proposed scheme widens with scale. As expected from the previous results, by this combined measure variants with lower RLE groups enabled were the strongest, while
rle_24_32 had the lowest throughout.
To verify that the compression did not affect the estimated irradiance, the pipeline was run twice on every dataset, once with the uncompressed viewshed storage (
no_compr) and once with the
rle_4_8_16_24_32 variant. The resulting solar potentials were then compared voxel by voxel. Since the two runs shared the same irradiance kernels and differed only in how the visible surfaces were retrieved, the only expected source of difference was the order of accumulation of the reflective contributions, i.e., the non-associativity of single-precision addition. The maximum and the root-mean-square relative deviations were computed as
where
and
are the solar potentials obtained with the uncompressed and the compressed representation, and
is the mean solar potential of the dataset. The results are given in
Table 2.
Over all compared voxels of the eight datasets, the largest relative deviation was , i.e., at most 3.5 units in the last place of the single-precision format (), while the relative root mean square deviation stayed below . The dataset totals agreed to within , and both the voxel positions and the maximum solar potential were reproduced exactly. The two representations therefore give the same result up to the resolution of the single-precision floating-point format.
3.2. Experiments on Real LiDAR-Derived DSMs
The full pipeline was evaluated additionally on four LiDAR-derived DSMs of contrasting urban morphology: a suburban area in Pekre, Slovenia (
N,
E), a low-rise urban area in Maribor, Slovenia (
N,
E), a low-rise urban area in Vaihingen, Germany (
N,
E), and a dense high-rise area of Lower Manhattan, New York City (NYC) (
N,
W). The DSMs were generated by using only classified LiDAR points and the gaps were filled with inverse distance weighting interpolation. Additional input was the TMY irradiance data for each location, being openly available through the respective national meteorological organisations. It should be noted that these experiments focused strictly on the usability and computational performance, as the physical accuracy of the underlying solar potential estimation had been validated in prior work [
33]. All four datasets were voxelised at the same
resolution and processed with the strongest
rle_4_8_16_24_32 configuration. Moreover, the uncompressed
no_compr pipeline ran on identical inputs as a reference. The four areas differ by building heights, as wall voxels accounted for ≈38% of
in Pekre, ≈51% in both Vaihingen and Maribor, and ≈76% in NYC. The results are summarised in
Table 3, and the areas’ annual solar potential estimated with the proposed method is visualised in
Figure 13.
Pekre attained the lowest of the four sites (), because its open suburban morphology produces the most fragmented viewsheds, and ba_RLE compresses fragmented viewsheds least effectively. Over a low, open skyline the occluders that a voxel does see are few and widely scattered, so the descending index sequence yields large and irregular deltas that change the bit-width group frequently. These frequent transitions shorten the same-group runs, which increases the number of tokens and EOV guards relative to the encoded delta payload. Moreover, since each run is byte-aligned, the padding of short runs takes a larger fraction of the binary stream. In the deep urban canyons of NYC, by contrast, each voxel is surrounded by mutually occluding facades at short range, so most rays terminate on a small number of nearby voxels. The resulting indices are clustered densely, the deltas are correspondingly small and uniform, and long runs within the same bit-width group are formed, which explains the highest observed ratio (). Maribor and Vaihingen, with their intermediate mixed low- and mid-rise morphology, fall between the two ( and ).