JNI Marshalling Performance: Single Round Trip

An Empirical Taste of the Cost of Kotlin to C++ JNI Communication on Android.

This article focuses on one question related to potential performance gains. When researching the JNI, you will quickly be warned that marshalling data across the JNI is non-negligible. Essentially, communication between the native side (C++) and the managed side (Kotlin) is expensive. The programmer should not only reduce *how much* data they send to one another but should also reduce *how often* they send data to one another. My question here is the simplest I could think of that would provide helpful insight to the cost of marshalling data across the JNI.

Ray Marching: Menger Sponge Breakdown

An Iterative Ray Casting Rendering Technique

There are two very popular methods to render 3D scenes. Rasterization has historically been the most popular method used for real-time graphics (ex: video games). In short, rasterization is a technique that projects 3D models, usually composed of 3D triangles, onto a 2D plane. Another popular method of rendering is ray-tracing... What we will discuss in this article is a third rendering method. A flavor of ray-casting known as ray marching.