QGIS中的核心功能会利用多线程吗?


10

阅读完在QGIS中启用多线程处理后?,我想知道QGIS 2.6在运行各种过程时是否将包括此功能。我在网上检查了一下,发现QGIS 2.4引入了多线程渲染(我认为它在2.6中将再次可用)。现在,可以非常快速地重绘地图,尤其是在处理大型数据集时。

我读到将多线程包含到核心功能中是相当困难的,建议用户操纵Python代码以实现此功能,例如在PyQGIS中的并行GIS操作中?

我还检查了功能请求,但Tim Sutton已将其关闭了9个月,最新评论为:

“我要结束这一点-Martin Dobias在分支机构中有一个实现,它将在QGIS 2.2之后合并。”

QGIS 2.6中的某些功能是否会利用多线程(或者将再次专注于呈现),如果没有,在QGIS 3.0中会有所改变吗?


多线程并不是特别适合大多数GIS任务,这些任务往往是面向流,简单且受I / O约束的。合并结果的难度通常不值得将它们独立排队(不妨立即执行简单任务)。因此,“利用”的定义尚需进行大量辩论。
文斯

@Vince-谢谢,我知道在许多用例中多线程并不是最重要的。但是由于已经完成了一些工作来实现这一目标,我想知道在新的QGIS版本中是否会对此提供支持(这可能比“ exploit”更好)=)
Joseph

1
@PolyGeo-谢谢,很公平,很适合这种Q / A格式。我同意:)
约瑟夫(Joseph)

Answers:


3

我认为QGIS 3.0的答案可以在Nabble的最近对话中找到

QGIS 3中的处理是否支持并行化?

引用Nyall Dawson:

如果你是并行后单个算法(例如缓冲功能使用多线程),那么,我不知道的地方在处理这个任何计划。


好发现!尽管我对您引用的引语有些困惑:“获得多线程算法的好方法(从理论上讲)是一种好方法,而且很容易将许多现有算法应用于此(缓冲区,质心,变换,翻译, ....基本上任何事情上在隔离每个特征)进行操作。“ 。据我了解,大多数算法无论如何都分别对每个功能进行操作,因为如果您不手动选择单个功能,该算法会自动处理所有功能?
约瑟夫

我认为您引用的报价是关于直接在图层上进行编辑(而不是产生新的输出)的可能性:实际上,在下面的内容中,他谈到了直接在当前图层上执行缓冲操作的可能性,无需进一步处理返回的输出。
mgri

1
嗯,好点。我希望QGIS开发人员也可以发表评论并确认这一点:)
约瑟夫(Joseph)

2
GIS SE不是讨论区。如果您需要特定提供商的答复,建议您直接查询它们。
文斯

1
@joseph有许多算法(例如,计算线相交或溶解特征),其中一种算法不能对单个特征进行操作。
Underdark

4

仅在当前时间渲染(QGIS 2.6)。

我和Martin讨论过某种通用线程处理API,但目前仅在讨论。


1
谢谢Nathan,您个人认为这家公司值得追求还是增加或改进功能被认为是更高的优先考虑?这只是出于好奇:)
约瑟夫(Joseph)

值得追求,但是我不认为这是一件容易的事。
内森·W
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.