Patent ID: 8803896

Claim:
A machine-implemented method, comprising: in response to detecting connection of a second output device having second characteristics that are different from first characteristics of a previously connected first output device, generating a second window back buffer in a memory in addition to a first window back buffer previously generated in the memory to correspond to the first output device; in response to detecting that a window is to be rendered on only the first output device, de-allocating the second window back buffer from the memory; rendering into the first window back buffer to output the window on the first output device; in response to detecting an event associated with the second output device, scaling first pixels for the window as rendered on the first output device to generate a scaled version of the first pixels for the window to be rendered on the second output device, wherein values of the first pixels are stored in the first window back buffer and wherein second pixels comprise the scaled version of the first pixels; determining if the second window back buffer has been re-allocated; if the second window back buffer has no been re-allocated, allocating, in addition to the first window back buffer, a third window back buffer in the memory to store the values of the second pixels, and rendering into the third window back buffer to output the window on the second display until the second window back buffer has been re-allocated, wherein rendering into the first window back buffer and rendering into the third window back buffer in the memory are performed, at least in part, in parallel; re-allocating the second window back buffer in the memory without de-allocating the first window back buffer; and rendering into the second window back buffer to output the window on the second output device, wherein rendering into the first window back buffer and rendering into the second window back buffer are performed, at least in part, in parallel.