QGIS 3.44.12 启动加速 — 修改总结

QGIS 3.44.12 启动加速 --- 修改总结

问题根因

QGIS 启动时阻塞在"Restoring loaded plugins"阶段,由两个原因叠加导致:

  1. 全局网络阻塞checkVersionNewsFeed 在启动时发起网络请求,网络环境无代理无法直连外网,TCP 连接等待超时
  2. NextGIS 插件注册表挂死quick_map_servicesqtilesQmsSettings.__update_settings() / QTilesSettings.__update_settings() 调用 QSettings("NextGIS", "...") 访问 Windows 注册表 HKCU\Software\NextGIS\...,在你的系统上该注册表操作会阻塞超时

修改的文件(共 4 个)

1. C:\Program Files\QGIS 3.44.12\apps\qgis-ltr\resources\qgis_global_settings.ini

设置 原值 新值 作用
checkVersion true false 启动时不联网检查新版本
NewsFeed\http00008000\disabled false true 欢迎页不联网获取新闻
monitorDirectoriesInBrowser true false 启动时不初始化文件系统监控

⚠️ 此文件位于 Program Files,需要管理员权限才能修改。如果 QGIS 更新,此文件会被覆盖,需要重新修改。

2. %APPDATA%\QGIS\QGIS3\profiles\default\python\plugins\quick_map_services\core\settings.py

第 34-36 行,注释掉 __update_settings() 调用:

python 复制代码
# 修改前
def __init__(self) -> None:
    self.__settings = QgsSettings()
    self.__update_settings()

# 修改后
def __init__(self) -> None:
    self.__settings = QgsSettings()
    # Hangs on Windows due to QSettings registry access in __update_settings
    # self.__update_settings()

3. %APPDATA%\QGIS\QGIS3\profiles\default\python\plugins\qtiles\core\settings.py

第 52-54 行,同样注释掉 __update_settings() 调用:

python 复制代码
# 修改前
def __init__(self) -> None:
    self.__settings = QgsSettings()
    self.__update_settings()

# 修改后
def __init__(self) -> None:
    self.__settings = QgsSettings()
    # Hangs on Windows due to QSettings registry access in __update_settings
    # self.__update_settings()

4. %APPDATA%\QGIS\QGIS3\profiles\default\QGIS\QGIS3.ini

[PythonPlugins] 部分:

ini 复制代码
[PythonPlugins]
db_manager=false
processing=false
MetaSearch=false
grassprovider=false
dissect_dissolve_overlaps_sagang=false
niva_qgis=false
VectorBender=true
QMetaTiles=true
basemaps=true
qtiles=true
quick_map_services=true

注意:确保没有 watchDogTimestamp\quick_map_serviceswatchDogTimestamp\qtiles 条目(如果存在,删除之)。


重新安装 QGIS 后需要的操作

必做项(4 步)

  1. 修改全局设置(需管理员权限)

    复制代码
    编辑: C:\Program Files\QGIS <版本>\apps\qgis-ltr\resources\qgis_global_settings.ini
    修改: checkVersion=false, NewsFeed...disabled=true, monitorDirectoriesInBrowser=false
  2. 修复 quick_map_services 插件

    复制代码
    编辑: %APPDATA%\QGIS\QGIS3\profiles\default\python\plugins\quick_map_services\core\settings.py
    找到: def __init__(self) -> None:
    注释: self.__update_settings()
  3. 修复 qtiles 插件

    复制代码
    编辑: %APPDATA%\QGIS\QGIS3\profiles\default\python\plugins\qtiles\core\settings.py
    找到: def __init__(self) -> None:
    注释: self.__update_settings()
  4. 清理 watchDogTimestamp(如果插件提示"previously crashed")

    复制代码
    编辑: %APPDATA%\QGIS\QGIS3\profiles\default\QGIS\QGIS3.ini
    删除: watchDogTimestamp\quick_map_services=...
    删除: watchDogTimestamp\qtiles=...
    确保: quick_map_services=true, qtiles=true

可选优化

  • Windows Defender 排除:管理员 PowerShell 运行:

    powershell 复制代码
    Add-MpPreference -ExclusionPath "C:\Program Files\QGIS 3.44.12"
  • 禁用不用的插件:QGIS 菜单 → Plugins → Manage and Install Plugins,禁用不需要的插件


影响评估

修改 影响
checkVersion=false 不再自动通知新版本,需手动检查
NewsFeed disabled 欢迎页不再显示 QGIS 新闻推送
monitorDirectoriesInBrowser=false 外部修改的目录不会自动刷新
跳过 __update_settings() 如果从旧版 QMS/qtiles 升级,旧设置不会自动迁移到新格式(但新安装无此问题)
相关推荐
GIS阵地20 小时前
QgsRasterDataProvider 完整详解(QGIS 3.40.13 C++)
开发语言·c++·qt·开源软件·qgis
疯狂学习GIS1 天前
AI Agent 操作 QGIS 实测:Codex 与 Claude Code 能自己出图吗
人工智能·ai·大模型·gis·agent·qgis·codex
梦想的初衷~1 天前
新一代分布式水文模型SWAT+:更灵活的对象化结构如何重塑流域水循环模拟?
qgis·水文水资源·swat+模型·面源污染模拟·流域水文模型·bmps
CHPCWWHSU1 个月前
qgis-samgeo
ai·qgis·sam3
AAIshangyanxiu1 个月前
R+VIC 模型融合实践技术应用及未来气候变化模型预测
r语言·qgis·气候变化·遥感水文·分布式水文模型·vic水文模型
星座5281 个月前
破解气候变化水文响应难题:基于R+VIC的未来气候情景评估与不确定性分析精讲
qgis·r·vic·未来气候
米优3 个月前
qgis电子地图二次开发---比例尺
qt·qgis
GIS阵地3 个月前
QGIS的分类渲染核心类解析
c++·qgis·开源gis
夜郎king3 个月前
基于 QGIS 的经销网点空间制图:张雪机车全国门店可视化案例
人工智能·qgis·空间可视化·张雪机车·经销网点制图