QGIS의 핵심 기능이 멀티 스레딩을 활용합니까?


10

QGIS에서 멀티 스레딩 처리 사용?을 읽은 후 ? 다양한 프로세스를 실행할 때 QGIS 2.6에이를 포함 시킬지 궁금합니다. 온라인으로 확인했는데 멀티 스레드 렌더링 이 QGIS 2.4에 도입 된 것만 찾을 수있었습니다 (2.6에서 다시 사용할 수 있다고 가정). 이제 대규모 데이터 세트를 처리 할 때 맵을 매우 빠르게 다시 그릴 수 있습니다.

핵심 기능에 멀티 스레딩을 포함시키는 것이 상당히 어렵고 PyQGIS의 Parallelization GIS 작업 과 같이이를 달성하기 위해 Python 코드를 조작하는 것이 좋습니다 . .

또한 기능 요청을 확인 했지만 Tim Sutton에 의해 9 개월 동안 닫혔으며 마지막 의견은 다음과 같습니다.

"저는 이것을 폐쇄하고 있습니다-Martin Dobias는 QGIS 2.2 이후에 통합 될 지점에 구현을 가지고 있습니다"

QGIS 2.6의 일부 기능은 멀티 스레딩을 활용합니까 (또는 렌더링에 다시 초점을 맞출 것입니까) 그렇지 않은 경우 QGIS 3.0에서 변경됩니까?


멀티 스레딩은 스트림 지향적이고 단순하며 I / O 바인딩되는 경향이있는 대부분의 GIS 작업에 특히 적합하지 않습니다. 결과 통합의 어려움은 일반적으로 결과를 독립적으로 대기시키려는 노력으로 가치가 없습니다 (단순한 작업을 즉시 수행). 따라서 "취약"의 정의는 중대한 논쟁의 대상이됩니다.
빈스

@Vince-고맙게도 멀티 스레딩은 많은 유스 케이스에서 최우선 순위가 아니라는 것을 알고 있습니다. 그러나이를 달성하기위한 일부 작업이 이미 완료되었으므로, 새로운 QGIS 버전 =)에 대한 지원 ( "탐색"보다 더 나은 용어 일 수 있음)이 있는지 궁금합니다.
Joseph

1
@PolyGeo-감사합니다.이 Q / A 형식에 매우 적합한 공정한 점입니다. 동의합니다 :)
Joseph

답변:


3

QGIS 3.0에 대한 답변은 Nabble에 게시 된 최근 대화에서 찾을 수 있습니다 .

QGIS 3에서의 처리는 병렬화를 지원합니까?

Nyall Dawson 인용 :

단일 알고리즘 (예 : 다중 스레드를 사용하는 버퍼링 기능) 에서 병렬화 한 후에 는이를 처리 할 계획이 없습니다.


좋은 발견! "나는 멀티 스레드 알고리즘을 얻는 좋은 방법과 이론적으로 쉬운 방법이며 많은 기존 알고리즘을 여기에 적용하는 것이 간단하다 (버퍼, 센트 로이드, 변환, 번역, .... 기본적으로 각 기능에서 독립적으로 작동하는 모든 것) . 개별 알고리즘을 수동으로 선택하지 않으면 알고리즘이 자동으로 모든 기능을 처리하기 때문에 대부분의 알고리즘이 각 기능에서 개별적으로 작동한다는 것을 알고있었습니다.
요셉

인용 한 인용문은 새 출력을 생성하는 대신 레이어에서 직접 편집 할 수 없다는 것입니다. 실제로, 그는 현재 레이어에서 직접 버퍼 작업을 수행 할 가능성에 대해 이야기합니다. 리턴 된 출력의 추가 처리없이
mgri

1
흠 좋은 지적. 나는 QGIS 개발자가 이것을 언급하고 확인할 수 있기를 바라고 있습니다 :)
Joseph

2
GIS SE는 토론 사이트가 아닙니다. 특정 제공 업체의 답변을 원하시면 직접 문의하시기 바랍니다.
Vince

1
@joseph 개별 피쳐에서 작동 할 수없는 많은 알고리즘 (예 : 선 교차점 계산 또는 피쳐 분해)이 있습니다.
underdark

4

이 시점에서만 렌더링 (QGIS 2.6).

Martin과 나는 일종의 일반적인 스레드 프로세스 API에 대해 이야기했지만 지금 현재 이야기하고 있습니다.


1
고맙습니다 Nathan, 개인적으로이 벤처가 추구 할 가치가 있거나 기능을 추가 / 개선하는 것이 우선 순위가 더 높다고 생각하십니까? :)
Joseph

추구할만한 가치가 있지만 쉬운 일이라고 생각하지 않습니다.
Nathan W
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.