Question about viewport frames' rendering process

On the API reference, it states that viewport frames will only update when their children update. However, there is no additional information about the exact process used for rendering, which can be a cause for concern on performance. So my question is:

Do viewport frames follow the task scheduler so that they only render once per frame after all of the children have changed, or do they render independently and immediately redraw the screen after each change?

For me, the latter seems to be the case

I believe viewport frames are rendered like other UI elements.

Roblox caches the rendered texture created by the viewport frame and if nothing has changed then it doesn’t bother rendering it again. If something changes it is rendered along with the next frame.