Estimating graphics system performance for polygons
AssigneeSun Microsystems, Inc.
InventorMichael F. Deering
Life of this patent
Estimating the term…
Abstract
A method for estimating rendering times for three-dimensional graphics objects and scenes is disclosed. The rendering times may be estimated in real-time, thus allowing a graphics system to alter rendering parameters (such as level of detail and number of samples per pixel) to maintain a predetermined minimum frame rate. Part of the estimation may be performed offline to reduce the time required to perform the final estimation. The method may also detect whether the objects being rendered are pixel fill limited or polygon overhead limited. This information may allow the graphics system to make more intelligent choices as to which rendering parameters should be changed to achieve the desired minimum frame rate. A software program configured to efficiently estimate rendering times is also disclosed.
Claims40
A computer software program for estimating rendering times in a graphics system embodied on a carrier medium, wherein said software program is configured to estimate performance for a graphics system for polygon rendering, wherein said software program comprises a plurality of instructions configured to:
- calculate a rendering time for a set of graphics data;
- and, if the rendering time exceeds that specified by a predetermined minimum frame rate, then
- determine whether the graphics data is polygon overhead limited or pixel fill limited, and
- change rendering parameters accordingly to achieve said predetermined minimum frame rate;
- wherein said set of graphics data comprises a plurality of general objects, wherein each general object comprises a plurality of object variants, wherein each object variant comprises a plurality of polygons and rendering attributes;
- wherein said plurality of instructions are further configured to calculate a cumulative probability density distribution f(a) for at least one of the object variants, wherein f(a) is the probability of a randomly chosen polygon within the object variant having an area a or less.
A computer software program for estimating rendering times in a graphics system embodied on a carrier medium, wherein said software program is configured to estimate performance for a graphics system for polygon rendering, wherein said software program comprises a plurality of instructions configured to:
- calculate a rendering time for a set of graphics data;
- and, if the rendering time exceeds that specified by a predetermined minimum frame rate, then
- determine whether the graphics data is polygon overhead limited or pixel fill limited, wherein the graphics data is polygon overhead limited when the graphics system's estimated performance is limited by per-polygon processing and pixel fill limited when the graphics system's estimated performance is limited by per-pixel calculations, and
- change rendering parameters accordingly to achieve said predetermined minimum frame rate, wherein said plurality of instructions are further configured to calculate rendering times for a plurality of different viewpoints for each object variant and then average the calculated rendering times for said plurality of different viewpoints for each object variant.
A computer software program for estimating rendering times in a graphics system embodied on a carrier medium, wherein said software program is configured to estimate performance for a graphics system for polygon rendering, wherein said software program comprises a plurality of instructions configured to:
- calculate a rendering time for a set of graphics data;
- and, if the rendering time exceeds that specified by a predetermined minimum frame rate, then
- determine whether the graphics data is polygon overhead limited or pixel fill limited, and
- change rendering parameters accordingly to achieve said predetermined minimum frame rate, wherein said rendering time is calculated in real-time, and wherein a critical area ac is pre-calculated off-line.
A method for modeling a graphics system's rendering performance for a particular set of geometry data, said method comprising:
- determining the graphics system's pixel fill rate;
- and
- calculating the graphics system's per-frame rendering time for the geometry data, wherein the geometry data comprises a plurality of polygons, wherein said per-frame rendering time is the effective area of the geometry data divided by the pixel fill rate, wherein the effective area equals the sum of the areas of all front-facing polygons in the geometry, wherein the area of each front-facing polygon in the geometry having an area less than a predetermined area ac is rounded up to the predetermined area ac, and wherein said predetermined area ac is a constant describing the performance of the graphics system.
A method for predicting the approximate rendering time for a graphics system to render a particular set of geometry data, the method comprising:
- determining a pixel fill rate for the graphics system;
- calculating an effective area for the particular set of graphics data to be rendered;
- and
- estimating the geometry's render time in real time by dividing the effective area by the pixel fill rate;
- wherein said calculating the effective area comprises:
- calculating a real area for the set of geometry data, wherein said real area corresponds to the surface area of polygons in said geometry data that are equal to or above a predetermined constant ac;
- calculating a false area for the set of geometry data, wherein said false area approximates the effects of minimum polygon overhead and corresponds to the predetermined constant acmultiplied by the number of polygons in said geometry data that are smaller than the predetermined constant ac;
- and
- summing said real area and said false area.
Dependencies are inferred from the claim text.