Please help with an explanation of techniques described in Example Thread:
1. Created two instances "clan :: Texture2D"
2. Created two instances "clan :: PixelBuffer"
3. Parallel thread calculates fractal and writes it to one of the "clan :: PixelBuffer", and the second is used to read in the main thread. Everything is ok.
4. Next the same change "clan :: Texture2D"

First buffering at "clan :: PixelBuffer", then again at the level of "clan :: Texture2D", and then a third time at the level of graphics system when doing `window.flip (0);`

If I comment out the buffering level "clan :: Texture2D", the example works without visible changes, so it is not necessary from a technical aspect, and perhaps methodologically.

Can someone explain what the author conceived in this example?