This section describes test programs included with Chromium.
The tiletest program verifies that the tilesort SPU is working correctly. It can also be used to visually experiment with simple tile layouts and load balancing.
The tiletest program verifies that tilesorting is working correctly by doing the following:
Three tests are performed by changing the granularity of the glBegin/glEnd primitives:
In the first two cases each tile should receive 24 vertices (the number of vertices per cube). So if a server has T tiles, the server should receive 24T vertices.
In the last case all cube vertices should be sent to all servers since Chromium bins only whole glBegin/glEnd primitives. Therefore, if C cubes are drawn, each server should receive 24C vertices.
The tiletest program can also be used to experiment with tile layouts. Run tiletest with the -t option. You'll see a matrix of colored squares. Each color represents a different server. The number of servers, tile rows and tile columns can be changed with the keyboard:
The following shows a configuration with 3 servers and a 4x4 array of tiles. It's a good configuration because the tiles are evenly distributed.
If we increase the number of servers to 4 and use a naive tile allocation then we'll get the following configuration:
The point is that the tile configuration for a given number of servers is important and determines how well the rendering load is balanced among the servers.