Fixed overhead in world rendering

You shouldn't iterate through all tiles and check bounds to render in current viewport. Just determine current viewport bounds in tiles coordinates and go through it.