Multi-mode parallel graphics rendering system (MMPGRS) supporting real-time transition between multiple states of parallel rendering operation in response to the automatic detection of predetermined operating conditions
A multi-mode parallel graphics rendering system (MMPGRS) supporting real-time transition between multiple states of parallel rendering operation in response to the automatic detection of predetermined operating conditions. The MMPGRS supports multiple modes of parallel operation selected from the group consisting of object division, image division, and time division. A plurality of graphic processing pipelines (GPPLs) support a parallel graphics rendering process that employs one or more of the object division, image division and/or time division modes of parallel operation in order to execute graphic commands and process graphics data, and render pixel-composited images containing graphics for display on a display device during the run-time of the graphics-based application. An automatic mode control module automatically controls the mode of parallel operation of the MMPGRS during the run-time of the graphics-based application, and mode transitions during the run-time of the graphics-based application.
1 . A multi-mode parallel graphics rendering system (MMPGRS) embodied within a computing system having (i) CPU memory space for storing one or more graphics-based applications and a graphics library for generating graphics commands and data (GCAD) during the run-time of the graphics-based application, (ii) one or more CPUs for executing said graphics-based applications, and (iii) a display device for displaying images containing graphics during the execution of said graphics-based applications, said MMPGRS comprising:
a multi-mode parallel graphics rendering subsystem supporting multiple modes of parallel operation selected from the group consisting of object division, image division, and time division;
a plurality of graphic processing pipelines (GPPLs) supporting a parallel graphics rendering process that employs one or more of said object division, image division and/or time division modes of parallel operation in order to execute graphic commands and process graphics data (GCAD), and render pixel-composited images containing graphics for display on a display device during the run-time of said graphics-based application; and
an automatic mode control module for automatically controlling the mode of parallel operation of said MMPGRS during the run-time of said graphics-based application, and mode transitions during said run-time of said graphics-based application;
wherein said automatic mode control module comprises
a first submodule for automatically determining the preferred mode of parallel operation to be used at any instant in time within said MMPGRS, and
a second submodule for automatically controlling the mode of parallel operation of said MMPGRS at any instant in time, automatically determined by said first submodule module.
2 . The MMPGRS of claim 1 , wherein said MMPGRS has system states selected from the group consisting of (i) parallel graphics rendering states, (ii) a non-parallel graphics rendering state, (iii) an application identification state, and (iv) a trial & error cycle state.
3 . The MMPGRS of claim 2 , wherein said parallel graphics rendering states include two or more states selected from the group consisting of:
(i) an image division state attained when said MMPGRS is operating in said image division mode;
(i) an object division state attained when said MMPGRS is operating in said object division mode; and
(iii) a time division state attained when said MMPGRS is operating in said time division mode.
4 . The MMPGRS of claim 2 , wherein said non-parallel graphics rendering state is attained only when a single GPPL is operational during the graphics rendering process.
5 . The MMPGRS of claim 3 , wherein during the course of said graphics-based application, said first submodule collects and analyzes a plurality of the following parameters when determining a state transition decision:
pixel processing load;
screen resolution;
depth complexity of the scene;
polygon count;
video-memory usage;
frame/second rate;
change of frames/second rate;
tolerance of latency;
use of the same frame buffer (FB) in successive frame; and
user-system interaction during the run-time of said graphics-based application.
6 . The MMPGRS of claim 5 , wherein transition from said object division state to said image division state follows a combination of one or more of the following conditions:
an increase in pixel processing load;
an increase in screen resolution;
an increase in scene depth complexity; and
a decrease in polygon count.
6 . The MMPGRS of claim 3 , wherein transition from said image division state to said object division state follows a combination of one or more of the following conditions:
an increase of polygon count;
an increase of video memory footprint; and
a decrease of scene depth complexity.
7 . The MMPGRS of claim 3 , wherein transition from said object division state to said time division state follows a combination of one or more of the following conditions:
Demand for higher frame/second rate
Higher latency is tolerated
There is no use of the frame buffer (FB) for successive frame
No predefined input activity is detected by said UID Subsystem
8 . The MMPGRS of claim 3 , wherein transition from said time division state to said object division state follows a combination of one or more of the following conditions:
latency is not tolerable;
the frame buffer (FB) is used for successive frame;
high polygon count; and
input activity is detected by a system/user interaction detection (UID) subsystem.
9 . The MMPGRS of claim 3 , wherein transition from said time division state to said image division state follows a combination of one or more of the following conditions:
latency is not tolerable;
the frame buffer (FB) is used for successive frame;
high pixel processing load; and
input activity is detected by a system/user interaction detection (UID) subsystem.
10 . The MMPGRS of claim 3 , wherein transition from Image Division to Time Division follows a combination of one or more of the following conditions:
demand for higher frame/second rate;
latency is tolerable;
high polygon count; and
no predefined input activity is detected by said UID Subsystem.
11 . The MMPGRS of claim 1 , wherein said display unit is a device selected from the group consisting of an flat-type display panel, a projection-type display panel, and other image display devices.
12 . The MMPGRS of claim 1 , wherein said computing system is a machine selected from the group consisting of a PC-level computer, information server, laptop, game console system, portable computing system, and any computational-based machine supporting the real-time generation and display of 3D graphics.