Claims
- 1. A method of managing multiple frame buffers, comprising the steps of:
- (1) maintaining a queue of two or more frame buffers, wherein at least one frame buffer is unnamed;
- (2) naming a newest frame buffer appended to said queue to be a front buffer;
- (3) causing an oldest frame buffer in said queue to be displayed, wherein said oldest frame buffer is unnamed;
- (4) naming a frame buffer not in said queue to be a back buffer;
- (5) enabling rendering of an entire frame into said back buffer; and
- (6) removing said oldest frame buffer from said queue after expiration of a frame time of said oldest frame buffer.
- 2. The method of claim 1, wherein step (5) further comprises the steps of:
- (i) appending said back buffer into said queue after rendering into said back buffer is complete;
- (ii) unnaming said front buffer; and
- (iii) renaming said back buffer as a new front buffer.
- 3. The method of claim 1, further comprising the step of:
- (7) enabling an application to access said front buffer and said back buffer, and not providing access to any unnamed buffers.
- 4. The method of claim 1, wherein step (5) further comprises the step of blocking an application responsible for rendering a frame before the frame is rendered if a latency of the frame is greater than a target latency.
- 5. The method of claim 4, wherein said step of enabling rendering of said entire frame into said back buffer occurs once the latency of the frame is less than the target latency.
- 6. A system for managing multiple frame buffers, comprising:
- means for maintaining a queue of two or more frame buffers, wherein at least one frame buffer is unnamed;
- means for naming a newest frame buffer appended to said queue to be a front buffer;
- means for causing an oldest frame buffer in said queue to be displayed, wherein said oldest frame buffer is unnamed;
- means for naming a frame buffer not in said queue to be a back buffer;
- means for enabling rendering of an entire frame into said back buffer; and
- means for removing said oldest frame buffer from said queue after expiration of a frame time of said oldest frame buffer.
- 7. The system of claim 6, wherein said means for enabling rendering further comprises:
- means for appending said back buffer into said queue after rendering into said back buffer is complete;
- means for unnaming said front buffer; and
- means for renaming said back buffer as a new front buffer.
- 8. The system of claim 6, further comprising:
- means for enabling an application to access said front buffer and said back buffer, and not providing access to any unnamed buffers.
- 9. The system of claim 6, further comprising means for blocking an application responsible for rendering a frame before the frame is rendered if a latency of the frame is greater than a target latency.
- 10. The system of claim 9, wherein said means for enabling rendering occurs once the latency of the frame is less than the target latency.
Parent Case Info
This application is a continuation of Ser. No. 08/743,883 filed Nov. 6, 1996 now U.S. Pat. No. 5,933,155.
US Referenced Citations (3)
| Number |
Name |
Date |
Kind |
|
5519825 |
Naughton et al. |
May 1996 |
|
|
5617118 |
Thompson |
Apr 1997 |
|
|
5801717 |
Engstrom et al. |
Sep 1998 |
|
Non-Patent Literature Citations (2)
| Entry |
| Neider et al., OpenGL Programming Guide: The Official Guide to Learning OpenGL, Release 1, Copyright 1993, Silicon Graphics, Inc. |
| OpenGL Architecture Review Board, OpenGL Reference Manual: The Official reference Document for OpenGL, Release 1, Copyright 1992, Silicon Graphics, Inc. |
Continuations (1)
|
Number |
Date |
Country |
| Parent |
743883 |
Nov 1996 |
|