@AdammReilly You're not wrong, there is definitely a performance hit with only masking contours. Similarly, if you draw a "line" to indicate the contour label placement, the number of vertices has an impact as well.
I don't have a solution for this issue specifically, but I'll suggest a workaround if these township plans you're generating are displaying existing contours. Typically in the GIS world we'd display labels at an interval along the contours, which would appear randomly across the spatial extents of the plan. If the surface you're labeling is static/not updated frequently, using my easy 32-step process you can:
- Generate the contours text as labels, with a box around the label (in the label style),
- Explode the surface contours and resulting labels, place the boxes on their own layer using QSELECT
- Use MAPTRIM to clip out the portions of the contours within the label boxes
- Use MAPCLEAN to weed the contours to an acceptable density for the scale you're working at.
You'll have a very performant, static reference where no matter your AOI, it's got coverage for within the viewport. You can also still have the original surface in there (not displaying contours) for profiles, spot elevations, targeting, etc.
One other tip that I find looks good, is to use the water drop tool to generate the contour label polyline/path which emulates a more cartographic output. But due to the many vertices the waterdrop tool creates, be sure to weed those lines via MAPTRIM first.