-
Previously, the renderer connected to the data source's received-data signal and re-rendered the affected tile(s) when new data arrived. However, at very low zoom levels (because the same tile is visible multiple times) and at very high zoom levels (because of overzooming) sometimes the same data is requested multiple times simultaneously. Each of these simultaneous requests would emit received-data, which would cause each tile to re-render. This caused a quadratic slowdown. Fixed by introducing ShumateDataSourceRequest, which is returned by a new start_request vfunc in ShumateDataSource. This allows the renderer to re-render only one tile when new data is received.
07941316Previously, the renderer connected to the data source's received-data signal and re-rendered the affected tile(s) when new data arrived. However, at very low zoom levels (because the same tile is visible multiple times) and at very high zoom levels (because of overzooming) sometimes the same data is requested multiple times simultaneously. Each of these simultaneous requests would emit received-data, which would cause each tile to re-render. This caused a quadratic slowdown. Fixed by introducing ShumateDataSourceRequest, which is returned by a new start_request vfunc in ShumateDataSource. This allows the renderer to re-render only one tile when new data is received.
Loading