Optimize for navigating really far from the current viewport by jumping instead.

This makes navigation a constant-time operation since the number of
items that need to be created is a function only of how many can fit in
the viewport at once, regardless of how far away the navigation takes
you.