Updating frame divisions based on ray tracing image processing system performance
First Claim
1. A method for distributing workload in a ray tracing image processing system, the method comprising:
- dividing a two-dimensional frame of pixels into at least a first region of pixels and a second region of pixels, wherein the two-dimensional frame of pixels represents an image rendered from a three-dimensional scene;
partitioning a spatial index, wherein the spatial index represents the three-dimensional scene;
assigning to a first processing element a responsibility for initiating ray tracing for rays that traverse through the first region of pixels;
assigning to a second processing element a responsibility for initiating ray tracing for rays that traverse through the second region of pixels;
performing ray tracing with the first processing element and the second processing element to determine colors of pixels in the two-dimensional frame of pixels;
monitoring at least one of a workload experienced by the first processing element and a workload experienced by the second processing element;
re-dividing the two-dimensional frame of pixels into at least a new first region of pixels and a new second region of pixels based on at least one of the workload experienced by the first processing element and the workload experienced by the second processing element; and
re-partitioning the spatial index based on at least one of the workload experienced by the first processing element and the workload experienced by the second processing element.
4 Assignments
0 Petitions
Accused Products
Abstract
An image processing system may perform various tasks in an effort to evenly distribute workload amongst workload managers. According to one embodiment of the invention, the image processing system may divide a frame of pixels into different regions and assign responsibility for the regions to different workload managers in order to evenly distribute workload. The workload managers may be responsible for performing operations relating to determining or maintaining the color of the pixel within the region or regions which they are responsible. According to another embodiment of the invention, the image processing system may re-divide the frame into new regions based on relative workloads experienced by the processing elements to evenly distribute workload. Furthermore, according to another embodiment of the invention, the image processing system may re-partition a spatial index based on relative workloads experienced by the processing elements to evenly distribute workload amongst workload managers.
93 Citations
25 Claims
-
1. A method for distributing workload in a ray tracing image processing system, the method comprising:
-
dividing a two-dimensional frame of pixels into at least a first region of pixels and a second region of pixels, wherein the two-dimensional frame of pixels represents an image rendered from a three-dimensional scene; partitioning a spatial index, wherein the spatial index represents the three-dimensional scene; assigning to a first processing element a responsibility for initiating ray tracing for rays that traverse through the first region of pixels; assigning to a second processing element a responsibility for initiating ray tracing for rays that traverse through the second region of pixels; performing ray tracing with the first processing element and the second processing element to determine colors of pixels in the two-dimensional frame of pixels; monitoring at least one of a workload experienced by the first processing element and a workload experienced by the second processing element; re-dividing the two-dimensional frame of pixels into at least a new first region of pixels and a new second region of pixels based on at least one of the workload experienced by the first processing element and the workload experienced by the second processing element; and re-partitioning the spatial index based on at least one of the workload experienced by the first processing element and the workload experienced by the second processing element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable storage medium containing a program which, when executed, performs operations comprising:
-
dividing a two-dimensional frame of pixels into at least a first region of pixels and a second region of pixels, wherein the two-dimensional frame of pixels represents an image rendered from a three-dimensional scene; partitioning a spatial index, wherein the spatial index represents the three-dimensional scene; assigning to a first processing element a responsibility for initiating ray tracing for rays that traverse through the first region of pixels; assigning to a second processing element a responsibility for initiating ray tracing for rays that traverse through the second region of pixels; performing ray tracing with the first processing element and the second processing element to determine colors of pixels in the two-dimensional frame of pixels; monitoring at least one of a workload experienced by the first processing element and a workload experienced by the second processing element; re-dividing the two-dimensional frame of pixels into at least a new first region of pixels and a new second region of pixels based on at least one of the workload experienced by the first processing element and the workload experienced by the second processing element; and re-partitioning the spatial index based on at least one of the workload experienced by the first processing element and the workload experienced by the second processing element. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. An image processing system comprising:
-
a first processing element; and a second processing element, wherein the image processing system is configured to; divide a two-dimensional frame of pixels into at least a first region of pixels and a second region of pixels, wherein the two-dimensional frame of pixels represents an image rendered from a three-dimensional scene, partition a spatial index, wherein the spatial index represents the three-dimensional scene, assign to the first processing element a responsibility for initiating ray tracing for rays that traverse through the first region of pixels, assign to the second processing element a responsibility for initiating ray tracing for rays that traverse through the second region of pixels, perform ray tracing with the first processing element and the second processing element to determine colors of pixels in the two-dimensional frame of pixels, monitor at least one of a workload experienced by the first processing element and a workload experienced by the second processing element, re-divide the two-dimensional frame of pixels into at least a new first region of pixels and a new second region of pixels based on at least one of the workload experienced by the first processing element and the workload experienced by the second processing element, and re-partition the spatial index based on at least one of the workload experienced by the first processing element and the workload experienced by the second processing element. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
Specification