well, SDL will probably not actually execute the drawing function.
But the other stuff like "Text *label = new Text(_res->getFont("BIGLETS.DAT"), _res->getFont("SMALLSET.DAT"), 80, 9, x - 40, y + 2);" is executed anyway, even for labels totally off-screen. It is creating massive amounts of new instances of Text there...
Not sure where label gets deleted again?