This is very dependent on the area that the map shows and your settings.
If describe the problem in general:
Online Maps, Real World Terrain and many other applications and services use OSM data, which creates a heavy load on the service.
What can I suggest to work around the problem:
1. Split one big request into few small requests, which will greatly reduce the load on OSM servers.
2. Add support for OSM Buildings.
3. Add support for Mapbox buildings. But to do this we will need to write a lot of code. In addition, Mapbox tile contains all the vector information about the tile, not just the buildings. This means that 95% of the data will be downloaded, loaded into memory, but will not be used.
All three ways are cache friendly, which makes it possible to implement caching of tiles.
I would choose the second way, because it is quite easy to implement.
Infinity Code Team