RoofGS: Roofline-Guided End-to-End Acceleration of 3D Gaussian Splatting
Organizations: State Key Laboratory of Robotics and Systems, Harbin Institute of Technology, Harbin 150001, China
Abstract
3D Gaussian Splatting (3DGS) enables real-time novel-view synthesis but remains limited on GPUs at high resolutions. Through a stage-wise Roofline characterization, we identify two distinct hardware bottlenecks: global memory traffic dominates the front end, whereas instruction throughput limits rasterization. Guided by this analysis, we develop RoofGS, a rendering framework that applies bottleneck-specific optimizations rather than generic kernel acceleration. For the memory-bound front end, we design a resolution-adaptive quantized depth sorting key that compresses each key to 32 bits. For the compute-bound rasterizer, we introduce a range-aware bit-level fast exponential approximation tailored to the bounded exponent range after opacity culling, with a derived per-pixel error bound. These two core techniques are complemented by additional optimizations (kernel fusion, compact attribute storage, culling, dual-pixel evaluation) that additionally reduce memory traffic and improve instruction-level parallelism. Experiments show that RoofGS achieves a 10.1 end-to-end speedup over 3DGS at 4K on an RTX 4090, increasing throughput from 61 to 616 FPS, with only a 0.028 dB PSNR loss.
Figures & tables
| Symbol | Description |
| Gaussian mean, rotation, scale, and opacity. | |
| Projected 2D mean and covariance matrix. | |
| Average tile duplication factor and total duplicated instances. | |
| Key-value entry size and number of radix-sort passes. | |
| Arithmetic intensity, defined as operations divided by data movement. |
| 3DGS [ 6 ] | RoofGS | PUP 3D-GS [ 31 ] | PUP + RoofGS | |||||
| Scene | 1080p | 4K | 1080p | 4K | 1080p | 4K | 1080p | 4K |
| train | 157 | 46 | 1478 | 530 | 642 | 160 | 3000 | 1217 |
| truck | 167 | 52 | 1348 | 585 | 352 | 98 | 2673 | 997 |
| drjohnson | 131 | 38 | 1294 | 586 | 576 | 158 | 3248 | 1371 |
| playroom | 175 | 53 | 1570 | 699 | 633 | 164 | 3414 | 1408 |
| Mean | 158 | 47 | 1423 | 600 | 551 | 145 | 3084 | 1248 |