As of Sven Co-op 5.21 the subdivision limit has been increased from 240 to 528. What does this mean for players and mappers?

For Players:
This upgrade will likely lead to bigger maps with better performance. It is now possible to use higher resolution artwork by default, so maps can look better as well. You will only notice this on maps created after the 5.21 release because maps need to be recompiled to take advantage of this new limit. Old maps will perform just the same as they did before.

For Mappers:
Because of the old rendering techique in Goldsrc, mappers always had to keep their detail level low and use low resolution textures to guarantee a stable framerate even on modern systems. This is partly because of the low face subdivision limit, which causes the engine to cut a face every 240 pixels (on texture scale 1.0). The more of these cuts, the higher the wpoly. We've increased this limit, so now a face gets cut every 528 pixels, which leads to far less wpoly.

This test map shows the clear difference between 5.20 (subdiv 240) and 5.21 (subdiv 528):




The performance increase is especially noticable with higher resolution textures:




This table shows the wpoly reduction for 4 different texture sizes:



In this closed testing room we can achieve up to 85% wpoly reduction! The usage of 512x512 textures on scale 0.25 results in very acceptable wpoly and can now be used as a default size for future Sven Co-op maps. Note, however, that the wpoly in your old maps will probably not increase by 85% once you recompile it. Brushes with faces smaller than 240 pixels already resulted in 1 wpoly with the old subdivision limit, so these will not improve with a higher limit. So maps with a lot of small rooms and tiny details will benefit less from this change than large maps with big areas and large brushes.

1024x1024 textures still take up a lot of wpoly, especially on their intended scale (0.125), so it's recommended you only use these sparingly.

The ability to now use 512x512 textures on 0.25 scale also has an impact on the lighting quality. The lightmap is bound to the texture scale, so lowering that will result in sharper shadows and light effects, as demonstrated here:



Since I'm taking about 512x512 textures it might seem more logical to use subdivision 512. Initially this is what we did and on scale 1.0 this caused no problems. However, once you use other scales, the calculations of the face subdivision become slightly off. Instead of cutting right on the end of the face, it'll cut an extra face 16 pixels before the end. This is because the renderer uses 8 pixels on the left and 8 pixels on the right for texture blending. To remedy this problem, we've added 16 to the limit (512+16=528). I suspect that Valve (or even ID Software) ran into this problem as well and this resulted in the odd 240 subdivision limit (256-16=240). There might have been renderer or hardware limitations to push it beyond 256.

I hope this short explanation has shed some light on this new limit. We're very eager to see new maps appear utilising these new possibilties!