Hullo all

I'm curious about rendering when it comes to updating the screen for an application. For simplicity, let's say I'm making a game (see attatchment below).

The middle portion is the actual screen. So every frame something new is there, hence, I need to refresh everything every frame. But, the buttons/border around the middle rarely (if ever) change.

While learning DirectX, I noticed that in the code:
D3DDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);
There is a "Target" you can clear.

I was wondering, if this means I can make two (in DirectX7 terms) surfaces. I.e. one for the Scene Rendering, and another for the border. And Render to the Scene's Surface every time, but only Call a Second Render Procedure (that of my border) when an event triggers the need for re-drawing?

My concern is that redrawing a border that doesn't need to be redrawn is a waste of time.

I hope I've made what I'm asking understandable Any input/ideas/better methods of solving this are definitely appreciated

Thanks for now

Edit: I missed a bracket on that picture, ah well And those squiggly things are trees (meant to represent a part of the scene )