I have figured out another way of doing it. I dunno it's the correct one, but I think it's good to let you know more about it.

Suppose I've got a heightmap, which dimensions are 512x512. Rendering goes very well when the heightmap is 64x64, so I could divide my heightmap into eight smaller parts (64x64 each). Then I could calculate a bounding box for each parts and check whether the cursor is inside or not. If it's outside, I'll use a display list. Otherwise, I'll disable the display list and render the geometry without it. Do you get what I mean? What do you think of that idea?