编者按:本文介绍了V-Ray新推出的分布式渲染系统:Swarm集群渲染,2017年1月首发于Chaos Group的技术博客labs.chaosgroup.com。我受委托临时将中文译本发表于我的博客,后期这些文章将会被转移到更合适的地方。文章版权属于Chaos Group。
简介:
您的办公室里面可能有大量闲置的计算机运算资源。我们新推出的V-Ray Swarm集群渲染,是针对V-Ray for Revit,V-Ray for Rhino以及V-Ray for SketchUp的新功能,是之前分布式渲染技术的升级版本。有了它,你就可以仅仅通过一个滑杆来掌控所有的计算资源。同时还可以通过一个网页界面,来监控管理所有的集群计算机。
通过一个简单的用户界面,Swarm集群渲染让用户能够获取本地局域网络中所有的计算资源,使用它们的CPU或者GPU来渲染。它既可以支持最终产品图的渲染,也可以支持渐进式渲染(progressive rendering),它将大幅加快工作流程,加速设计成果的迭代和反馈。
特别感谢Cooper Carry的朋友测试了V-Ray Swarm的功能,并向我们提交了这篇帖子里所呈现的测试资料。
什么是分布式渲染(distributed rendering)?
分布式渲染(简称DR)绝不是一个新概念。它自从V-Ray 1.0版就已经有了。基本思路就是渲染任务总是可以被分解成无数个小任务。渲染器,比如V-Ray就利用了这个思路,它把这些任务分配给你计算机上的多个运算核心(CPU或者GPU)。最简单的办法就是在一台计算机上把一张大图分解为多个小部分来计算,这就是大家熟知的渲染块。每一个小块儿渲染完之后,它就会继续去渲染下一个还没有被其他核心计算到的部分。分布式渲染把这个概念更近了一步,它通过和局域网内其他的计算机连接,来增加渲染核心。通过局域网,每台计算机收集渲染一个小块儿所需要的所有信息,在本地计算,然后把这个信息发送回主机,然后继续去完成下一个任务。
旧版的分布式渲染(DR)是如何运作的?
为了使用分布式渲染,你的每台机器都必须要安装V-Ray。而且你还必须要打开一个Spawner程序,来时刻监听局域网内是否给计算机分派了渲染任务。
然后为了启动分布式渲染,你必须要知道每台计算机的网络地址(通常是IP地址)。而且你还必须要知道用于分布式渲染的网络端口。想要渲染的时候,你还要自己选择你要用来分布式渲染的计算机。
这个旧版渲染系统的缺点就在于,你必须知道每一台机器的地址和端口。而且你还必须要了解每一台参与分布式渲染的计算机的硬件条件是否足以完成当前的渲染任务。而且你还要确保每一台机器所安装的V-Ray版本是一样的。
Maya中旧版分布式渲染的界面
那么V-Ray Swarm又有何不同呢?
Swarm集群渲染与局域网交流的方式比之前聪明多了,以下就是与旧版的几个关键的差别:
- 能够让DR计算机持续工作
Swarm会持续监控每台计算机的状态,以确保V-Ray处于启动状态并准备就绪。如果没有,便会自动重启这个进程。这个功能在旧版本的分布式渲染中也有,但是在Swarm中可靠性更高了。 - 自动发现网络中的其他计算机
Swarm计算机能够通过网络彼此互相沟通,因此您不再需要知道每台计算机的IP地址。 - 自动选择主渲染节点
使用点对点网络,它会全自动的选择某一台计算机作为控制和管理整个集群的主节点。 - 自动评估计算机的运算能力
Swarm分析记录每一台计算机的硬件条件,来确保它能完成分配给它的渲染任务。这意味着,如果某一台计算机硬件条件不足,或者正忙于其他运算,它就不会加入集群运算。 - 总能运行正确版本的V-Ray
发起渲染任务的主机会确保其他计算机使用相同版本的V-Ray进行渲染。每台计算机都会检查其版本是否与主机一致。如果不是,主机会以远程的方式在分机上运行正确版本的V-Ray。
请注意:由于此功能本质上允许您从远程计算机运行应用程序,因此它会使用加密技术,来确保启动的应用程序是V-Ray。 - 极简的用户界面
由于大部分旧版DR所需要操作的任务在新版中已经能够全自动执行,因此用户界面变得非常简单。呈现给用户的仅仅是一个滑杆,代表了他能够掌控的全部渲染计算资源。将滑竿拉到右端,Swarm会动态的加入更多的计算能力。滑向左端则会减少运算占用。
- 标记Swarm计算机
使用一个简洁的网页界面,你可以为计算机进行不同的标记分组。这样,当发起一个集群渲染的时候,你可以利用这些标记来选择只使用某些计算机。举个例子,您可能只想标记速度快的计算机。或者您想把一组计算机,标记保留成特定用途。
V-Ray Swarm计算机可以在网页界面中轻松地管理和标记
这对用户有什么好处?
有了Swarm集群渲染技术,你就可以使用本地局域网中每一台计算机的计算资源。不管什么样硬件条件的计算机,都有潜力为渲染贡献力量,包括那些原本只能用在公司行政或会计的计算机。基于Swarm的资源管理方式,分机上的用户一般都不会意识到他们的计算机正在后台联机渲染。
需要强调的几点:
Swarm依赖于快速的局域网(LAN)在不同的计算机之间进行通信。必须是保持开放的连接才能够转移和分配数据。在目前的技术条件下,它不适合通过广域网(WAN)进行通信,比如在不同的分公司之间,或者云端渲染资源。Swarm还要求每台计算机必须在同一子网工作。
另外,每一台Swarm计算机都必须有V-Ray授权。这意味着如果你有100台安装了Swarm的计算机,但是只有五个渲染节点的授权,那你就只能使用五台计算机进行计算。
未来会有什么样的功能?
当前版本的Swarm主要是在本地网络上运作。我们正在研究许多其他的工具,能大幅提高用户能使用的计算能力。这样一来,渲染甚至能变成实时的。
稳,我正纠结Swarm到底什么意思呢。
借这个帖子请教一下韩神,在win10系统下装了2017版本的sketchup,在建模的时候比较卡(配置是i7 7700K GTX1070),试过网上说的把默认显卡调整为独立显卡,但是建模还是卡,请问有没有什么办法使建模顺畅些?
@nuomic 实话实说,这个不知道为什么,可以问su官方
@韩世麟 不管怎样,还是要谢谢你的回答~
@nuomic 可以尝试关闭一下OpenGL设置的使用快速反馈
@小俊俊 已经尝试过,变得更慢~
谢谢你~
@nuomic 应该是显卡问题,可以重新装一下显卡驱动
@徐勇涛 显卡驱动已更新,建模卡顿没有改善,游戏画面好像比以前好些,哈哈哈~
@nuomic 我新买的电脑配置也高,但运行su2017也是会很卡,可能是因为自己装的是破解版软件,而不是正版。我运行2015或者别的版本就没有啥问题,不知道你的是不是也是这个原因
@nuomic 应该是鼠标问题了。换个鼠标试试。鼠标可以调整DPi和刷新率的 调低那些参数。
@nuomic 是否是自动保存的原因,让你感觉卡。
韩神 vfs3.4你出汉化吗???如果出大概什么时候哪!
@无根天水 官方还没说要做
您好韩神 有具体的使用教程吗?
@qa39378 您好,关于这个集群渲染,我仔细说说。
首先,我视频里理解错了一个概念。
Vray 的授权分成两个要素:一个叫渲染图形界面 GUI,一个叫节点 Node。
GUI 也就是咱们理解的软件操作界面。
Node 是“渲染用的计算机”也就是能不能渲染,全看有没有 Node 授权。光有 GUI 是不行的。
那么咱们在申请 trial 测试的时候,Vray 只会给你一个 GUI + 一个 Node,这是渲染器可用的下限,意味着一台机器可以运转了。你要是想联机,你要有至少一个 GUI,两个Node。
那我在做视频的时候,我手里只有一个正版 VFS 的授权,怎么两台机器跑起来了呢?
我猜测可能是因为我同时申请了 Rhino 和 Maya 的测试,我的号上一共有3个 Node。这只是猜测。
下一个话题,如果我买了更多的 Node,我怎么 Swarm。
您需要把您的几个机器搭建在一个局域网下,这方面知识我就不太会了,涉及到共享和工作组设定之类的,但不难,找到网管技术人员他们都会。
然后每台机器都要安装 Swarm 软件,其实直接装一个 Vray就好, GUI、Swarm、License server 就同时都装上了。
然后理论上来说就可以自动用了,您的账号里购买的的 Node 权限会自动分配给局域网里的计算机。
我不会搭局域网,我的视频里是怎么实现的呢?
我没有使用自动搜索,我在 GUI 里直接手动输入了另一台机器的 IP,也连上了。但是这意味着我的方法只能两台联机,而且 Node 其实也是偶然多于1个的,现在我的 Rhino 和 Maya 已经到期了,Node 没了。
韩神您好,请问如果公司的渲染机不连外网,是否还能当作swarm节点机用?我在尝试的时候那台机在swarm的网页界面上显示的是Unstable,cpu占用0%,不知道这意味着什么。
@笨鱼兽 在局域网里就可以,但是这台机器要有节点授权
@笨鱼兽 如果是测试获得的节点授权的话,不联网用不了
@韩世麟 我是正版用户,请问韩神怎样才能为同一局域网里不联外网的机器进行节点授权?
@笨鱼兽 您好,关于这个集群渲染,我仔细说说。
首先,我视频里理解错了一个概念。
Vray 的授权分成两个要素:一个叫渲染图形界面 GUI,一个叫节点 Node。
GUI 也就是咱们理解的软件操作界面。
Node 是“渲染用的计算机”也就是能不能渲染,全看有没有 Node 授权。光有 GUI 是不行的。
那么咱们在申请 trial 测试的时候,Vray 只会给你一个 GUI + 一个 Node,这是渲染器可用的下限,意味着一台机器可以运转了。你要是想联机,你要有至少一个 GUI,两个Node。
那我在做视频的时候,我手里只有一个正版 VFS 的授权,怎么两台机器跑起来了呢?
我猜测可能是因为我同时申请了 Rhino 和 Maya 的测试,我的号上一共有3个 Node。这只是猜测。
下一个话题,如果我买了更多的 Node,我怎么 Swarm。
您需要把您的几个机器搭建在一个局域网下,这方面知识我就不太会了,涉及到共享和工作组设定之类的,但不难,找到网管技术人员他们都会。
然后每台机器都要安装 Swarm 软件,其实直接装一个 Vray就好, GUI、Swarm、License server 就同时都装上了。
然后理论上来说就可以自动用了,您的账号里购买的的 Node 权限会自动分配给局域网里的计算机。
我不会搭局域网,我的视频里是怎么实现的呢?
我没有使用自动搜索,我在 GUI 里直接手动输入了另一台机器的 IP,也连上了。但是这意味着我的方法只能两台联机,而且 Node 其实也是偶然多于1个的,现在我的 Rhino 和 Maya 已经到期了,Node 没了。
@韩世麟 明白了,也就是说不另外购买节点的情况下,正版的授权只能供主机使用,不能正常使用swarm集群渲染,是这意思吧?
@笨鱼兽 对,这个是wzf自己测试,没成,问了官方,官方说的,想用还得买node,node至少两个才可以玩。
@韩世麟 好,谢谢韩神解答。
老韩,我的主机是按照2017SU,配备VR3.4,那么我其他的附机器,也要都装一样的版本么,并且要集渲染的时候,附机都要开软件集SWARM么?
@busi2zang4 主要是需要购买正版渲染节点,到时候不需要开su,开swarm进程即可,渲染应该会自动启动
@韩世麟 谢拉,老韩,对了2.0需要购买正版才可以么?
@busi2zang4 2.0版本好像没这个限制
老韩有没出版VFS3.4中新增的lens effects settings参数面板,这个全是英文,看不懂
老韩你好,我在使用vfr集群渲染的时候发现渲染出来的图片出现错位(有些小格子稍微错开一点点),不知道你遇到过这种情况没有呢?怎么解决呢?在线等急!
@sam 正版吗?
顶渲的,tb上有卖
@sam 这个是盗版的问题,会轻微抖动