A high-fidelity 3D urban building model requires large quantities of detailed textures, which can be non-tiled or tiled ones. The fast loading and rendering of these models remain challenges in web-based large-scale 3D city visualization. The traditional texture atlas methods compress all the textures of a model into one atlas, which needs extra blank space, and the size of the atlas is uncontrollable. This paper introduces a size-adaptive texture atlas method that can pack all the textures of a model without losing accuracy and increasing extra storage space. Our method includes two major steps: texture atlas generation and texture atlas remapping. First, all the textures of a model are classified into non-tiled and tiled ones. The maximum supported size of the texture is acquired from the graphics hardware card, and all the textures are packed into one or more atlases. Then, the texture atlases are remapped onto the geometric meshes. For the triangle with the original non-tiled texture, new texture coordinates in the texture atlases can be calculated directly. However, as for the triangle with the original tiled texture, it is clipped into many unit triangles to apply texture mapping. Although the method increases the mesh vertex number, the increased geometric vertices have much less impact on the rendering efficiency compared with the method of increasing the texture space. The experiment results show that our method can significantly improve building model rendering efficiency for large-scale 3D city visualization.