Optimization of mesh locality for transparent vertex caching
ACM SIGGRAPH 1999 Proceedings, 269-276.
Face reordering for efficient GPU vertex cache, advocating a FIFO policy.
Bus traffic between the graphics subsystem and memory can become a bottleneck when rendering geometrically
complex meshes. In this paper, we investigate the use of vertex caching to transparently reduce geometry
bandwidth. Use of an indexed triangle strip representation permits application programs to animate the
meshes at video rates, and provides backward compatibility on legacy hardware. The efficiency of vertex
caching is maximized by reordering the faces in the mesh during a preprocess. We present two reordering
techniques, a fast greedy strip-growing algorithm and a local optimization algorithm. The strip-growing
algorithm performs lookahead simulations of the cache to adapt strip lengths to the cache capacity. The
local optimization algorithm improves this initial result by exploring a set of perturbations to the face
ordering. The resulting cache miss rates are comparable to the efficiency of the earlier mesh buffer
scheme described by Deering and Chow, even though the vertex cache is not actively managed.
This technology has been transferred into the D3DX library of Microsoft DirectX
We observe that optimizing meshes for vertex caching results in useful speedups on modern GPU's.
Some recent schemes including Lin and Yu 2006
and Chhugani and Kumar 2007
achieve better vertex caching behavior, but replace indexed triangle strips by indexed triangle lists,
which slightly increases the size of the index buffer.
The scheme of Sander et al 2007
fast and also considers occlusion culling.
ACM Copyright Notice
Copyright by the Association for Computing Machinery, Inc. Permission to make digital or
hard copies of part or all of this work for personal or classroom use is granted without fee provided that
copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the
full citation on the first page. Copyrights for components of this work owned by others than ACM must be
honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to
redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications
Dept, ACM Inc., fax +1 (212) 869-0481, or firstname.lastname@example.org. The definitive version of this paper can be
found at ACM's Digital Library http://www.acm.org/dl/.