SketchUp支持多核心運行——一件不可能完成的任務

作者/活力網Andrew

去年11月14日 SketchUp發布2018版本時

許多SU愛好者

繼續討論著那個困擾我們多年的問題

SketchUp何時支持多核心多線程?

最近 筆者在SU官方論壇神遊

似乎已經找到了答案

答案就是——

支持多核心 根本不可能!

而且更毀童年的是……

不光SU不支持多核心多線程

就連AutoCAD、3DS Max、Maya……

這些主流的互動式建模軟體

都不支持多核心多線程

那具體為什麼吶?

還請耐心往下看

由於筆者的計算機科學知識幾乎為零

就直接將SU官方論壇大神們的對話截圖增加翻譯

大家自行查閱資料理解

有這方面知識積累的學員

也可以在下方評論區為大家普及知識

有一天 SketchUp官方論壇

一位名為"ttaylor"的網友發問

Google神翻譯:

大家好,

從我所了解的SketchUp只使用一個核心。 我們目前遇到了一個障礙,因為一個結構師給我們發了一個900MB的Revit文件,這個文件比我們過去使用過的一些足球場項目文件還要大...這太可笑了。 現在我們已經將文件轉換為DWG,我試圖導入文件,但SketchUp已經卡住了。 它已經運行一整夜了,我們把文件分成兩部分,這樣我們就可以更快的導入它,而且還沒有完成導入。

這影響了我們的設計師進一步推進,因為他們無法在設計之前開始設計Sketchup文件。

SketchUp能否獲得使用多個核心的能力? 據我所知,這是少數幾個不使用多個核心的3D建模程序之一。

或者其他人有別的辦法?

當然 關於這個話題的提問可不止一個人

一位網名叫「Pola」的網友提問

Google神翻譯:

你好。

到目前為止我找不到答案:

Sketchup會使用2個處理器(在一個主板上)嗎? 我的意思是,同時建模,場景。 或者只有在渲染時才有用,比如V-Ray或thea?

還有一個問題是關於WIN7,它是否與2個CPU,以及這個系統下的任何程序工作?

提前致謝

在這些熱門討論中有許多大神參與到了討論中,

有SU插件頂級開發者、有軟體工程師等等

這位網名叫「Anssi」的SU論壇超級答主是這樣回答的

Google神翻譯:

我無法回答有關SketchUp的問題。 英特爾於1993年發布了第一款奔騰處理器,以及第一款多核心CPU主板。 緊接著,Autodesk開發人員就承諾即將發布支持多處理器的AutoCad和3D Studio Max版本。 幾乎25年過去了(1993——2017年),還沒有發生。 非實時渲染器現在通常支持多核,但似乎多核建模是不可能的。

這位大神也是把論壇中關於這類的問題答了個遍……

Google神翻譯:

正如我總是這樣說的:Intel Pentium處理器和第一款多核處理器主板以及第一版的Windows NT於1993年發布,而Autodesk承諾很快就會發布AutoCad和3D Studio Max的多線程版本。 2017年 我們仍然在等待。非實時照片級渲染可以並且多年來一直是多線程的,但是建模介面在所有應用程序中都保持單線程。 這可能是一個不可能的任務(也許過去的24年證明了這一點)。

還有的朋友提出了「陰謀論」

Google神翻譯:

這是真的,我們可以認為他們故意削弱多處理器功能,使我們購買更強大的硬體(AMD和英特爾)或過度價格的「專業」硬體(Nvidia和ATI / AMD),而Autodesk是一個痞子公司,這個大家都知道。 遊戲引擎可以使用多個內核和GPU進行渲染,並顯示3D多邊形,但Autocad無法在沒有Xeon的情況下渲染數以千計的2D矢量!

但是他的陰謀論遭到了無情的反駁

Google神翻譯:

請不要沒有任何事實提出陰謀論!

如果您在這個論壇上閱讀了關於多線程的其他主題以及一般的計算機科學文獻,您會發現製作互動式幾何編輯器使用多個內核是一個非常困難的問題,經過多年的努力,還沒有人解決這個問題。 編輯器與渲染器有著根本的區別,因為它的工作不可能(到目前為止任何人還沒有想到的)被劃分為空間區域,而每個區域被分配給一個單獨的CPU。 它總是要處理用戶編輯的東西的後果,否則這些東西可能已經被發送以供不同的線程/ CPU處理。

講到這裡

可能許多小夥伴已經知道了事情的來龍去脈

大多數人把建模軟體與渲染器混淆

導致了大家迫切期待SU支持多核心

眾所周知

Vray與Corona一開始都是基於CPU的渲染器

也就是說 核心越多 線程數也就越多

渲染速度也會更快

所以 以此類推 大家認為

建模軟體也會隨著核心數的增加

而變得更加流暢更加強大

於是才會產生這樣的爭論

我們再看幾位大神的回復

Google神翻譯:

我認為你混淆了兩個根本不同的東西:建模和渲染。

建模(在這種情況下)是改變模型幾何的行為。 渲染(在這種情況下)是採取模型和顯示高度精鍊版本的行為。

就本論壇的集體知識而言,沒有人能夠實現使用多個核心的建模。

SketchUp是一個建模程序。 它包含了一些非常基本的渲染,以顯示模型,但依靠第三方插件和服務進行高度細節渲染。

Google神翻譯:

渲染涉及兩個關鍵事實:首先,它不修改正在渲染的項目;在渲染過程中模型資料庫必須被凍結。其次,照明的影響本質上是附加的和無序的。這意味著您可以通過分別處理每個模型的特定部分,並以任何順序處理每個模型,從而計算出模型的特定部分。這些事實使得可以將渲染分解成可以同時運行的獨立計算的集合,也就是多線程渲染應用程序。事實上,許多渲染器是多線程的,如果可用的話,將使用多個CPU核心。

這些事實都不適用於互動式建模和編輯!整個想法是讓用戶修改模型的內容。修改的效果不是附加的,而是依賴於順序的。用戶依靠視圖上的模型的正確呈現來指導他的編輯;沒有其他線程可以在同一時間操縱模型,否則用戶將體驗到完全的混亂!

有幾個任務,比如保存一個文件,可能被拆分成不同的線程。這可能會避免在保存時凍結SU。但是為了這樣做,應用程序在內存中複製模型資料庫時仍然需要凍結,因為如果用戶可能修改了已保存的內容,則不會發生保存!該副本將暫時使SU的模型內存需求增加一倍,這本身可能會導致問題。而且,由於現代操作系統的所有緩存數據和單獨的操作系統線程用於磁碟寫入,目前還不清楚會有多大的改進。也就是說,如何在應用程序內存中複製和複製到OS內存的時間與僅複製到OS內存相比如何?我不知道答案,我只知道這不是一個簡單的問題。

結語:

看了這麼多大神的回復(雖然有的沒咋看懂)

大家應該都有點豁然開朗了吧?

SketchUp支持多核心多線程

這是不可能完成的任務

就算實現了

對SU的性能也不會提高太多

別說SU了 CAD 3DS Max都沒有實現吶!

說了這麼多

那SU的性能到底該如何提高吶?

LayOut怎樣才能不卡吶?

答案就是:

擁有更快的CPU

無論是固有速度還是超頻

都可以提升SU的性能

比如這個神器

Intel Xeon(志強)E5-2602v4(傳說5.1GHZ主頻)

大家有什麼感想 也可以在下方留言討論噢!

關注活力網www.uzing.net

-------------------------------------------------------- end ---------------

活力網,讓你輕鬆學設計!

歡迎關注我們的微信公眾號:活力網TV

歡迎加微信號:Caigle01,面對面探討可視化技術!


推薦閱讀:

榫卯Talks | 女性建築師的世界-講者:黃文菁
奧巴馬哭著說,這棟建築說明我們不是美國的包袱!
你想問的我都知道丨榫卯Talks活動後續的一些答疑

TAG:TrimbleSketchUp | 建筑设计 | 设计 |