You need to first of all, design the
Texture Atlas (more than one texture in the same image). There are multiple choices here; either use the atlas from the beginning (easy way) or changeand reposition all textures one by one to use the atlas (hard way). There are some limitations: using atlas, you can not have repeating patterns! You can make vertical strips that wrap around vertically (or vice versa) but not corner to corner patterns. This is a problem using SU, UV mapping is shite..
For your object, the doors and windows are the first one to benefit from atlas. For ex, change them all to 128x256, and create one texture: 512x256. There are now four "slots" available in that large atlas. Position the two doors and the one window in that atlas. You ca use the "slot" that's left for creating the transparent glass. You still win, you get 1 texture with 4 channels (RGB and Alpha) Instead of 4x3channel and 1x4channel textures. Since that transparent window is very simple, you can add details on it's texture...
Those walls and the roof are not really good for atlas, it's so much easier to use repeating patterns there...
I'll normally use small repeating textures when painting flat surfaces (32x32 or 64x64, with bumb maps in double resolution..). That increases material count but makes everything else so much simpler that i'll gladly sacrifice some performance to agility in the creating process (less steps, better creativity..)
It all depends on the model in hand: If it's suppose to be on the background, large surfaces with the details in the texture. If the object is suppose to be close to player, use more polygons to create details. One good way to check how your track is optimized is to shitch the texture+wireframe mode on and driving/looking around in BTB. Where you see a lot of blue, there the polycount is high. With racing games, the polycount increases in the distance (track & terrain meshes mostly) but the game engine has some clever optimizations that is uses there. Concentrate on the objects, hide the terrain and track and see how the vertical surfaces work. In the pitlane, the long huge and detailed objects quickly become a real resource hogs, both transform and fill bound..
One way of doing things is to first make simpler placeholders and position them on the track. Replacing them later will more likely resort to better optimized object for it's purpose, only later in the project you can really see what are the objects real properties. For ex. does it need to have back side, can the car get close, what resolution texturing it needs etc. For place holders you can even use PNG format to quicken the process. they can always be changed later. PNG is better than JPG, they for ex wrap around cleanly, JPGs have horrible borders due to compression.. This applies to all application in the chain, also AFAIK PNG is less performance hog than JPG.
Those who knows what are the disadvantages of using repeating textures, please enlighten us.
For those who want to learn optimization, i recommend this article and it's followup:
http://www.ericchadwick.com/examples/provost/byf1.html It's not specifically for racingsims, more to FPS games but the principles are excactly the same. It has helped me immensely, by understanding the reason, even the placeholders are optimized to some degree.