Patent ID: 8810591

Claim:
A machine-implemented method, comprising: requesting, by an application, to write data from application data in a system memory to a video memory by using a virtual address of a portion of the video memory; translating, using a virtual memory map of the video memory, the virtual address to a real physical address of the portion of the video memory; determining that an entry in the virtual memory map corresponding to a mapping between the virtual address and the real physical address is being changed within the virtual memory map; and preventing access to the entry while the entry is being changed; selecting a write path through a system memory controller based on a comparison of available performances of a graphics controller bus and a system memory bus, wherein selecting a write path causes a processor to write the data from the system memory to a buffer in the system memory through the system memory bus and to subsequently write the data from the buffer to the portion of the video memory through the graphics controller bus, and wherein selecting a fast write path causes the processor to directly write the data from the system memory to the portion of the video memory through the graphics controller bus without previously writing the data to the buffer through the system memory bus; and writing, after the entry is changed, the data to the portion of the video memory using the fast write path if the available performance of the graphics controller bus is faster than the available performance of the system memory bus.