登录
忘记密码?
其他方式登录

SketchUp支持多核心运行——1件不可能完成的任务

作者:活力网 Andrew 2018-01-23

01.jpg

去年11月14日 SketchUp发布2018版本时

许多SU爱好者

继续讨论着那个困扰我们多年的问题

SketchUp何时支持多核心多线程?

最近 笔者在SU官方论坛神游

似乎已经找到了答案

答案就是——

支持多核心 根本不可能!


而且更毁童年的是……

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

就连AutoCAD、3DS Max、Maya……

这些主流的交互式建模软件

都不支持多核心多线程

那具体为什么呐?

还请耐心往下看


由于笔者的计算机科学知识几乎为零

就直接将SU官方论坛大神们的对话截图增加翻译

大家自行查阅资料理解

有这方面知识积累的学员

也可以在下方评论区为大家普及知识


有一天 SketchUp官方论坛

一位名为"ttaylor"的网友发问

02.jpg

Google神翻译:

大家好,

从我所了解的SketchUp只使用一个核心。 我们目前遇到了一个障碍,因为一个结构师给我们发了一个900MB的Revit文件,这个文件比我们过去使用过的一些足球场项目文件还要大...这太可笑了。 现在我们已经将文件转换为DWG,我试图导入文件,但SketchUp已经卡住了。 它已经运行一整夜了,我们把文件分成两部分,这样我们就可以更快的导入它,而且还没有完成导入。

这影响了我们的设计师进一步推进,因为他们无法在设计之前开始设计Sketchup文件。

SketchUp能否获得使用多个核心的能力? 据我所知,这是少数几个不使用多个核心的3D建模程序之一。

或者其他人有别的办法?

当然 关于这个话题的提问可不止一个人

一位网名叫“Pola”的网友提问

03.jpg

Google神翻译:

你好。

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

Sketchup会使用2个处理器(在一个主板上)吗? 我的意思是,同时建模,场景。 或者只有在渲染时才有用,比如V-Ray或thea?

还有一个问题是关于WIN7,它是否与2个CPU,以及这个系统下的任何程序工作?

提前致谢


在这些热门讨论中有许多大神参与到了讨论中,

有SU插件顶级开发者、有软件工程师等等

这位网名叫“Anssi”的SU论坛超级答主是这样回答的

04.jpg

Google神翻译:

我无法回答有关SketchUp的问题。 英特尔于1993年发布了第一款奔腾处理器,以及第一款多核心CPU主板。 紧接着,Autodesk开发人员就承诺即将发布支持多处理器的AutoCad和3D Studio Max版本。 几乎25年过去了(1993——2017年),还没有发生。 非实时渲染器现在通常支持多核,但似乎多核建模是不可能的。

这位大神也是把论坛中关于这类的问题答了个遍……

05.jpg

Google神翻译:

正如我总是这样说的:Intel Pentium处理器和第一款多核处理器主板以及第一版的Windows NT于1993年发布,而Autodesk承诺很快就会发布AutoCad和3D Studio Max的多线程版本。 2017年 我们仍然在等待。非实时照片级渲染可以并且多年来一直是多线程的,但是建模接口在所有应用程序中都保持单线程。 这可能是一个不可能的任务(也许过去的24年证明了这一点)。

还有的朋友提出了“阴谋论”

06.jpg

Google神翻译:

这是真的,我们可以认为他们故意削弱多处理器功能,使我们购买更强大的硬件(AMD和英特尔)或过度价格的“专业”硬件(Nvidia和ATI / AMD),而Autodesk是一个痞子公司,这个大家都知道。 游戏引擎可以使用多个内核和GPU进行渲染,并显示3D多边形,但Autocad无法在没有Xeon的情况下渲染数以千计的2D矢量!

但是他的阴谋论遭到了无情的反驳

07.jpg

Google神翻译:

请不要没有任何事实提出阴谋论!

如果您在这个论坛上阅读了关于多线程的其他主题以及一般的计算机科学文献,您会发现制作交互式几何编辑器使用多个内核是一个非常困难的问题,经过多年的努力,还没有人解决这个问题。 编辑器与渲染器有着根本的区别,因为它的工作不可能(到目前为止任何人还没有想到的)被划分为空间区域,而每个区域被分配给一个单独的CPU。 它总是要处理用户编辑的东西的后果,否则这些东西可能已经被发送以供不同的线程/ CPU处理。

讲到这里

可能许多小伙伴已经知道了事情的来龙去脉

大多数人把建模软件与渲染器混淆

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

众所周知

Vray与Corona一开始都是基于CPU的渲染器

也就是说 核心越多 线程数也就越多

渲染速度也会更快

所以 以此类推 大家认为

建模软件也会随着核心数的增加

而变得更加流畅更加强大

于是才会产生这样的争论


我们再看几位大神的回复

08.jpg

Google神翻译:

我认为你混淆了两个根本不同的东西:建模和渲染。

建模(在这种情况下)是改变模型几何的行为。 渲染(在这种情况下)是采取模型和显示高度精炼版本的行为。

就本论坛的集体知识而言,没有人能够实现使用多个核心的建模。

SketchUp是一个建模程序。 它包含了一些非常基本的渲染,以显示模型,但依靠第三方插件和服务进行高度细节渲染。09.jpg

Google神翻译:

渲染涉及两个关键事实:首先,它不修改正在渲染的项目;在渲染过程中模型数据库必须被冻结。其次,照明的影响本质上是附加的和无序的。这意味着您可以通过分别处理每个模型的特定部分,并以任何顺序处理每个模型,从而计算出模型的特定部分。这些事实使得可以将渲染分解成可以同时运行的独立计算的集合,也就是多线程渲染应用程序。事实上,许多渲染器是多线程的,如果可用的话,将使用多个CPU核心。

这些事实都不适用于交互式建模和编辑!整个想法是让用户修改模型的内容。修改的效果不是附加的,而是依赖于顺序的。用户依靠视图上的模型的正确呈现来指导他的编辑;没有其他线程可以在同一时间操纵模型,否则用户将体验到完全的混乱!

有几个任务,比如保存一个文件,可能被拆分成不同的线程。这可能会避免在保存时冻结SU。但是为了这样做,应用程序在内存中复制模型数据库时仍然需要冻结,因为如果用户可能修改了已保存的内容,则不会发生保存!该副本将暂时使SU的模型内存需求增加一倍,这本身可能会导致问题。而且,由于现代操作系统的所有缓存数据和单独的操作系统线程用于磁盘写入,目前还不清楚会有多大的改进。也就是说,如何在应用程序内存中复制和复制到OS内存的时间与仅复制到OS内存相比如何?我不知道答案,我只知道这不是一个简单的问题。


结语:

看了这么多大神的回复(虽然有的没咋看懂)

大家应该都有点豁然开朗了吧?

SketchUp支持多核心多线程

这是不可能完成的任务

就算实现了

对SU的性能也不会提高太多

别说SU了 CAD 3DS Max都没有实现呐!

说了这么多

那SU的性能到底该如何提高呐?

LayOut怎样才能不卡呐?

答案就是:

拥有更快的CPU

无论是固有速度还是超频

都可以提升SU的性能

比如这个神器

10.jpg

▲Intel Xeon(志强)E5-2602v4(传说5.1GHZ主频)

大家有什么感想 也可以在下方留言讨论噢!


最后为 May Cheng老师打一波广告

3DS Max2018 入门到进阶课程马上就要上线啦!!!

11.jpg

想全方位的了解最新版本的Max吗?

那就请时刻关注活力网 www.uzing.net

12.jpg

请扫以下二维码添加微信号:Caigle01

面对面交流SketchUp等软件技术问题,

(加好友时请注明想要交流学习的软件,

如VRay或SketchUp或LayOut等等)

caigle01.png


会员评论(0)

请先登录
验证码: 看不清楚,换一张