如下:
当地图已经在画布中显示出来时,用鼠标拖动地图或在地图上按下鼠标或改变窗体大小时,地图要好久才再次出现。这是因为地图在这些情况下时,后台进行了刷新、重渲染,类似Qt的paintEvent机制。地图重渲染默认情况下是按串行渲染模式进行的,类似于单线程。为了解决上述问题,必须开启并行渲染模式,即在构造地图画布对象完成后,设置地图画布对象渲染模式为并行模式,即如下:
m_pMapCanvas->setParallelRenderingEnabled(true);
其中m_pMapCanvas是地图画布类QgsMapCanvas 对象。
说明:上述代码用到的QGIS版本为QGIS 3.26.2。