High-Performance Graphics with DirectX in Racket

Antoine Bossard
2019 Information Engineering Express  
Parallel processing is ubiquitous with modern computer systems. It has been supported by two major hardware advances: on the one hand, computer CPUs nowadays include several processing cores -even mobile device CPUs. On the other hand, the adoption of parallel processing has been bolstered in recent years thanks to the parallel processing capacities of graphics processing units (GPUs). General-purpose computing on graphics processing units (GPGPU) is one example of the versatile capacity of
more » ... . Relying on the Microsoft DirectX 12 framework, we propose in this paper a novel approach to enable parallel processing for graphical rendering on both the CPU and GPU for the functional programming language Racket (formerly PLT Scheme). Importantly, this is achieved without compromising the usability and programmer-friendliness of Racket. Significant improvements are observed from the performance evaluation experiments with respect to the execution time (×3 speed-up in some cases), the CPU utilisation time (reduced by as much as 80% in some scenarios) and the frame rate in the case of animated graphics.
doi:10.52731/iee.v5.i2.368 fatcat:unubojs3yzbmrkctjx2gvv57gm