real time means the rendering is finished in time to push the data to the output buffer.
Your frames per second would be how often you do this complete transfer per second.
You would have tearing because your transfer is not in sync with the screen refresh rate. (meaning your updating the frame buffer as the hardware reads it to display on the screen)
You use murmuring to decrease the time to render, thus maintaining a frame rate or higher framerate than without murmuring.
Ray tracing is no different than rasterization in that it does computational work in order to produce a 2d image for display. Both can use different techniques to shorten the time it takes to produce the final image. In fact your murmuring is basically the same idea as level of detail or reducing screen resolution.
Both can have "unlimited fps" based on how they are written, ray tracing is limited by the CPU and rasterization is limited by the GPU. I have a simple game engine that uses rasterization and it can produce as many images as the GPU can calculate. Of course I can also limit it to vysnc.
This Q's raytracer isn't "hard real-time" raytracer. The renderer is synchronized to display and every frame is rendered as long as it has time before next display refresh.
Comment