2 ms·
>changing the generated code by replacing indirect vtable calls with direct or inlined calls It can't possibly be doing this, if the raytracing code is like an
by akoboldfrying 3y ago
>changing the generated code by replacing indirect vtable calls with direct or inlined calls
It can't possibly be doing this, if the raytracing code is like any other raytracer I've ever seen -- since it must be looping through a list of concrete objects that implement some shared interface, calling intersectRay() on each one, and the existence of those derived concrete object types means that that shared interface can't be made final, and that's the only thing that would enable devirtualisation -- it makes no difference whether the concrete derived types themselves are final or not.