Hello Preethi,
first of all, it is important to understand, that it is not sufficient to update a single foreground GUI component like a filled path (or any other graphical object) - it is always necessary to draw all visible components on the screen according their Z-order from back to top. This is necessary to support semi-transparency between GUI components.
If you have many different items within the background and you want to avoid that these are drawn each time the foreground path has changed, you can arrange all background images and decorations within one GUI component and set Buffered=true. In this case an internal off-screen bitmap is allocated and all members are drawn into this bitmap. See chapter control the visiblity of nested components.
Each time the foreground path object has changed, only the prepared off-screen bitmap is transferred into the framebuffer instead of drawing all members again.
Of course, this technique requires additional memory to allocate the off-screen bitmap. The performance will only increase, if your background contains a lot of semitransparent and overlapping objects or if there is scaling, rotation, etc. used. In case you have just a simple background image - it will not change the performance.
Best regards,
Manfred.