• 沒有找到結果。

Number of Layers versus Screen Resolution in Square Hierarchies 31

Chapter 4 Evaluation Results

4.2 Number of Layers versus Screen Resolution in Square Hierarchies 31

First we will look at the relationships between number of layers and screen resolutions. The first part of this section will show the storage reduction rate from various resolutions and number of layers. And second part of this section will show the access traffic in rendering.

Doom3 320x240, Number of Layers vs. Records Reduction

0.00

Figure 4-2 Doom3 320x240 storage reduction percentages by using square and

aligned hierarchies versus flat list version

Doom3 640x480, Number of Layers vs. Records Reduction

0.00

Figure 4-3 Doom3 640x480 storage reduction percentages by using square and aligned hierarchies versus flat list version

Doom3 1280x1024, Number of Layers vs. Records Reduction

0.00

Figure 4-4 Doom3 1280x1024 storage reduction percentages by using square and aligned hierarchies versus flat list version

Doom3 1600x1200, Number of Layers vs. Records Reduction

Figure 4-5 Doom3 1600x1200 storage reduction percentages by using square and aligned hierarchies versus flat list version

Quake4 320x240, Number of Layers vs. Records Reduction

0.00

Figure 4-6 Quake4 320x240 storage reduction percentages by using square and aligned hierarchies versus flat list version

Quake4 640x480, Number of Layers vs. Records Reduction

Figure 4-7 Quake4 640x480 storage reduction percentages by using square and aligned hierarchies versus flat list version

Quake4 1280x1024, Number of Layers vs. Records Reduction

0.00

Figure 4-8 Quake4 1280x1024 storage reduction percentages by using square and aligned hierarchies versus flat list version

Quake4 1600x1200, Number of Layers vs. Records Reduction

0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00 100.00

2 Layers 3 Layers 4 Layers 5 Layers 6 Layers 7 Layers

Storage Reduction (%)

Proposed Alg ARM

Figure 4-9 Quake4 1600x1200 storage reduction percentages by using square and aligned hierarchies versus flat list version

As Figure 4-2 to 4-9 shows, the y-axis is the percentage of storage reduction compare to typical flat tile-listing. And x-axis is different number of layers; the different number of layer setting from 2 layers that’s typical tiling with 2x2 grouped layer, 3 layers is typical tiling with 2x2 and 4x4 grouped layers, and so on. Different color of bars are using square hierarchies with ARM’s algorithm or ours primitive-hierarchy fitting algorithm. In lower resolution 320x240 in both benchmarks, three layers is enough for these two resolutions, since both of them use more layers which cannot gain more storage reductions. For higher resolutions, four layers would be a good choice, since the difference of size reduction between four and five layers is not significantly obtained. As the observation in section 2.3, there’s less primitives that overlap on exact one tile as the screen resolution gets higher. The result in Figure 4-2 to 4-9 shows the same characteristic, as the resolution gets higher then this square hierarchies can save more storage.

Doom3 320x240, Number of Layers vs. Redundant Read

Figure 4-10 Doom3 320x240 redundant reads by using square and aligned hierarchies

Doom3 640x480, Number of Layers vs. Redundant Read

0

Figure 4-11 Doom3 640x480 redundant reads by using square and aligned hierarchies

Doom3 1280x1024, Number of Layers vs. Redundant Read

Figure 4-12 Doom3 1280x1024 redundant reads by using square and aligned hierarchies

Doom3 1600x1200, Number of Layers vs. Redundant Read

0

Figure 4-13 Doom3 1600x1200 redundant reads by using square and aligned hierarchies

Quake4 320x240, Number of Layers vs. Redundant Read

Figure 4-14 Quake4 320x240 redundant reads by using square and aligned hierarchies

Quake4 640x480, Number of Layers vs. Redundant Read

0

Figure 4-15 Quake4 640x480 redundant reads by using square and aligned hierarchies

Quake4 1280x1024, Number of Layers vs. Redundant Read

Figure 4-16 Quake4 1280x1024 redundant reads by using square and aligned hierarchies

Quake4 1600x1200, Number of Layers vs. Redundant Read

0

Figure 4-17 Quake4 1600x1200 redundant reads by using square and aligned hierarchies

As Figure 4-10 to 4-17 shows, the y-axis is the total number of redundant records read during rendering. And x-axis is different number of layers with different color of bars for ours and ARM’s algorithm. From the figure above, we can see that our method would lead to about 5% more storage usages compare to ARM’s method. The results from Figure 4-10 to 4-17 show the advantages of our primitive-hierarchy

fitting algorithm. Our algorithm can choose better layer than ARM did. Such that, the redundant reads in our design are significantly lower than ARM in any benchmarks and resolutions.

4.3

Storage Reduction of Proposed Design

The effect of applying unaligned grids and rectangular layers will be shown in the following. The baseline is using square hierarchies only. The number of layers will be fixed by the results we observed above. For lower resolution 320x240, we will use three layers in the following experiments and for the higher resolutions, we will use four layers.

Doom3, Storage Reduction of Proposed Design

0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00 100.00

320x240 640x480 1280x1024 1600x1200

Resolutions

Primitive Storage Size Reduction (%)

ARM Proposd Alg.

Proposed UG Proposed RL Proposed Full Capa.

Figure 4-18 Doom3 storage reductions by proposed design versus square and aligned version

Quake4, Storage Reduction of Proposed Design

320x240 640x480 1280x1024 1600x1200

Resolutions

Primitive Storage Size Reduction (%)

ARM Proposd Alg.

Proposed UG Proposed RL Proposed Full Capa.

Figure 4-19 Quake4 storage reductions by proposed design versus square and aligned version

Figure 4-18 and 4-19 shows the percentage of storage reduction compare to use square hierarchies only with both ARM’s and ours algorithm, when adding grouping methods we described it in section 3.1. The unaligned grids can reduce tile list size about 1% to 10% since the misalignment primitive various from 2% to 20% in various test cases with our algorithm, but still a little bit more than ARM’s algorithm with square hierarchies only. For the rectangular layer, we set different thresholds for different resolutions according to how many tiles need to cover the height of screen.

For instance, in 320x240 we need 8 tiles to cover the height of 240 pixels, since rectangular layers split screen into two parts, so we require the difference of primitive’s height and width need to be larger than 2 tiles in order to use these layers more efficient. For the same reason, we choose 4 for 640x480, 8 for 1280x1024 and 10 for 1600x1200. Although the high and wide rectangle of primitives is about 35% in our observation in section 3.1, the result here is a bit different. One reason is the threshold; another reason is some of primitives are lying in the middle of the screen and it requires two or more groups to record. Again, when applying our rectangular layer and our algorithm, we still need a little big larger storage than ARM did.

When apply both unaligned grids and rectangular layers together, we can achieve 5% of storage reduction compare with our algorithm and square hierarchies only. The storage reduced by both type of layers can not be added together directly. It caused by the primitive-hierarchy fitting algorithm sets higher priority for rectangular layer and part of misalignment primitive will be covered into this layer and no longer seen as a misalignment. When apply both layers together our storage size requirement will be more like ARM did.

Doom3, Redundant Read of Proposed Design

0.00 200000.00 400000.00 600000.00 800000.00 1000000.00 1200000.00 1400000.00

320x240 640x480 1280x1024 1600x1200

Resolutions

Records

ARM Proposed Alg.

Proposed UG Proposed RL Proposed Full Capa.

Figure 4-20 Doom3 redundant reads by proposed design

Quake4, Redundant Read of Proposed Design

0.00 200000.00 400000.00 600000.00 800000.00 1000000.00 1200000.00 1400000.00 1600000.00 1800000.00

320x240 640x480 1280x1024 1600x1200

Resolutions

Records

ARM Proposed Alg.

Proposed UG Proposed RL Proposed Full Capa.

Figure 4-21 Quake4 redundant reads by proposed design

Figure 4-20 and 4-21 above shows the redundant reads by proposed layer designs. In both figure, we can see that when adding our layer designs together, the redundant reads are significantly higher than ARM did. The reason for this result is that many misalignment primitives are now can be recorded in higher layer which would lead to more unnecessary traffics. And the rectangular layer, some of the primitives are lying across multiple horizontal rectangle or vertical rectangle layered-tiles. Such that, combining both leads to this result.

相關文件