Unless I miss my guess, the Blitz concept of a "surface" is simply "a group of polygons that share a common texture and rendering attributes". So Mark is, in fact, enforcing good behavior by sending each surface as a batch to the video card.
There may be other problems in the code or something if it can't handle as much as it should, but on the surface (heh) it looks like his design is correct.
There may be other problems in the code or something if it can't handle as much as it should, but on the surface (heh) it looks like his design is correct.