More vertexes vs. overdraw. Which is better?

I’m currently making books for the bookshelves of my eyecandy-map (in Blender). There will be quite a lot of them, so I want to know what’s the best way to optimise them.

Do I just put the individual books next to each other without removing invisible faces (or face parts), which would increase the overdraw,
or do I combine everything into one mesh (image 2), which does result in more vertexes, but less overdraw?

I’ll have a lot of those books in my map, so I want to be sure what is better for the performance…

https://dl.dropboxusercontent.com/u/36498915/PERMA/Books2.PNG

https://dl.dropboxusercontent.com/u/36498915/PERMA/Books1.PNG

I think you can make them as props in propper, then import them back to your map.

I’m modelling them entirely in Blender. The export is not a problem, I just want to know how Source can handle the models better…

What if you make some lods?

Not the problem either. I just want to know it it’s better for the performance to have more overdraw or more vertexes…

Just make a vote, like:
Disagree - vertexes.
Agree - overdraw.

Personally, I’d merge them and delete the hidden faces. But I don’t think Nything you do will have much of an impact on such a small model relatively speaking

It depends mostly on how the culling of the target render engine works.

Some engines do a sort of “intelligent” cull, where the camera does traces across its screen, and it will only attempt to draw faces that those traces hit. In the case of interactive media, it generally uses a sort of “layered collision geometry” method, where it will create layers of objects that are “if the trace hits this, then everything inside it should be drawn”. Such logical geometry is often only generated at initialization, allowing for cheap drawing during runtime, even with moving cameras. I believe the Source engine uses this method of rendering, using models’ “bounding boxes” to determine whether or not to draw the model.

Other engines are a lot more brutish, and just blindly draw every polygon in the scene, or do a trace from every polygon to the camera, without any concept of “layered collision geometry”. You don’t see this very often in well-made render engines, but it does exist (at least it does in a raytracer my friend wrote :v:)

If the engine you’re targeting uses the first method, then the results would be the same either way, and I would elect you go with whichever way reduces the total bytes of resource to be loaded (eg if 2 whole books is smaller filesize-wise than one book, do that).

If the engine you’re targeting uses the second method, then use the second method and delete the faces that will never be seen.