some more optimizations:
for selectFromMap reduce requests be rounding viewPort borders
it's possible to skip multiple requests of the same kind and run only last