DogACTUAL wrote:Any clue why that is? Maybe more vanilla buildings instead of custom ones?
It's a combination of things, it can be down to what statics are used, how many are used, etc. Each individual object is a minimum of one extra drawcall, can be a lot more if that object has multiple materials as well.
A mapper can make a map seriously unoptimized by just putting lots and lots of individual statics down in the same area, which on their own are well optimized, but having many of them packed densely together can overload a clients CPU with drawcalls.
But yes, some PR statics are not at all optimized and have lots of problems, many have lots and lots of different materials, each adding to the number of drawcalls that need to be processed.
But many vBF2 statics are pretty bad in many ways, and one of the worst thing about most vBF2 statics is they have really bad final LODs. By final LOD, I mean the very last LOD that is shown right upto the point it is culled (objects are coded to be culled, or removed from having to be drawn once you are so far away from them, you can't see them any more, with the smaller the object is, the earlier it can cull or "disappear", removing you from having to even process its draw call let alone render it, but big things like buildings generally have to have very large cull distances), or more commonly until the draw distance cuts it out from being shown.
You can see here this hotel building has a final LOD of 501 tris and 3 materials, which isn't too bad:
Generally, I like to aim for a final LOD of around, or better yet if possible under 100 tris (the lower the better) and only one material, which is what you can see for the final LOD of this tent I made some time ago, which as you can see the final LOD is only 14 tris, the most basic shape of it possible, and only one material, with this final LOD kicking in at 250m and being seen until it culls (can't tell you when that is without loading up the editor and testing, all I can tell you from the code is it has a cullRadiusScale of

or upto the view distance:
However, with all this being said, fixing statics and maps in PR/BF2 is a total nightmare. It isn't as simple as just fixing up that static and then having that fixed applied to all the maps it's on. If you change a static in any little way, unless you very skilled and incredibly careful, your going to screw up or at least change its Lightmap UVs (not to mention basically all the statics in PR have horrible automatic Lightmap UVs that really need to be replaced with an optimized custom LM UVs), meaning that any changes you make to the static will mean that all the maps that static is on, will need to be re-lightmapped or have its shadows all screwed up and not only is that a huge amount of work, it often isn't possible with missing editor files.
This is why generally whenever a static gets fixed up, a new version is made of it. I recently fixed up the "cablepole_v2" I made years ago for Dr Rank while also making a few new versions of it, but since the original version had really bad and unoptimized automatic Lightmap UVs since when I originally made it, I didn't know about custom LM UVs, so while I could have kept the old LM UVs while fixing up the minor errors if I was super careful, it wasn't worth it so I made a "cablepole_v2b" version with fixed errors, better LODs/cols but the biggest optimization was the optimized custom LM UVs. Then I just informed all the mappers about the new version and any existing maps that used the old version could replace them with the new version whenever they receive an update, and but it was up to the mappers to do that. But chances are in my experience that very few maps, if any, will ever bother to go to the effort of updating them just for this minor improvement, and only do it if they receive a major update, but at least the new version is there for if that happens and any new maps in the works.
Old versions automatic LM UVs:
New versions automatic LM UVs:
