High level \ algorithmic explenation about tiles in cycles

Hi there!
I wish to understand more about the tiles render mode in cycles.
The question is for both CPU and GPU rendering pipelines.

1.Before I would happy to know about the steps in the pipeline from geometry data all the way to final texture.any short explanation or detailed link will help a lot.
(the docs in blender are not too informative about it.)

2.In which step in the pipeline the tiles come to play ?

3.How the tiles mechanism work?

4.Is there any restriction where we should not use it,
along other cycles parameters and renderers ?

Thank you !

This is a very broad question, it’s best to look at the code documentation first to understand things:

The reason for the tile size settings is to reduce memory usage on the GPU for high res renders. The downside is not being able to immediately see the full image as it’s rendering, and some (typically minor) performance overhead.