百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

性能优化:如何解决SOLIDWORKS大型装配体卡顿问题

bigegpt 2024-12-04 09:13 4 浏览

目录

- 厂商和用户的不同立场:不只是图形工作站

- 为什么CPU单核性能很重要

- 专业显卡价值点:FSAA、RealView的另类看法

- 轻量化显示后的性能提升对比

- 我们还需要更高性能的硬件吗?


由于周五晚上临时写了一个小短文,耽误了这篇原本计划的。咬咬牙还是写出来吧,希望对读者朋友能有帮助。而这段集中精力的时间,也可以让人暂时摆脱一些琐事的烦扰:)


厂商和用户的不同立场:不只是图形工作站


背景阅读

SolidWorks2020测试:GPU如何速度翻倍 & 赢画质?

SolidWorks渲染测试:CPU & GPU光线追踪性能、画质对比

SolidWorks测试(3):五款显卡选择指南,AMD、GeForce也来凑热闹


因为我之前写过上面几篇,有时会有读者来咨询硬件配置方面的问题,简单列举其中几类:


- 想用A卡来跑。我对N/A之争本无成见,相关测试情况也都公开写出来了,并不想去说服执着的人。

- 想用GeForce2080之类的消费级显卡。在之前的测试中我有过对比,对于没有真正理解专业显卡/ISV认证价值的朋友,也许只有在吃过亏之后才能明白NX、CATIA、SOLIDWORKS这些制造业CAD类软件应该怎么选显卡;

- 还有想选择QuadroM系列乃至K系列老卡,可能是想省钱买二手吧。有些没测试过的我也不敢下结论,不过今天要写的——也是我刚学习并整理的内容,或许对这部分朋友有帮助。


:按照以往习惯,先排除显存容量的差别(不是说没有影响,而是另外考虑)。每一代Quadro卡的GPU性能,大致都相当于上一代更高一档的型号(有时甚至还要更高一点)。比如P4000在8GB显存够用的情况下有时比M5000还要快;同理RTX 4000处理有些任务也不见得比P5000差。


如果把视角扩展一下看,这个简单的理论也能适用于其它计算机应用领域吧。


上面这个图是我有感而画的,不够美观大家凑合看看。具体到这篇讨论里,中间的“ISV/独立软件提供商”就是指的达索(Dassault Systèmes)SOLIDWORKS。


我自己这些年往往是站在左边的立场上考虑问题,比如专业显卡硬件/驱动上的优化,除了性能之外,还能够打开全屏反走样(反锯齿)、RealView视觉效果等。说的再直白一些,就是向用户证明,Quadro、图形工作站这些物有所值。


而右边阵营的立场又不太一样。软件模型、机械装配的规模和复杂度甚至可以无限提高,从这一点来看硬件性能永远是有限的。怎么能在硬件水平一定的情况下,让软件运行在合理的速度上(或者说更流畅些),下面老师的分享讲的就是这方面。


前不久,来自普华信息技术的高凌峰老师,以在线视频的形式分享了《如何解决SOLIDWORKS大型装配体卡顿问题》。会后网上还可以看回放和演讲稿,在本文结尾我会分享二维码和链接。


为什么CPU单核性能很重要


我们从SOLIDWORKS打开装配体(复杂模型)的机制谈起。


从表面上看,打开文件、关闭(保存)文件应该主要是磁盘读写的操作,但实际上我们用不同的SSD往往看不出明显的性能差别,因为下列许多环节都是要CPU去计算的。


在打开装配体的过程中,如果观察下CPU占用情况,就会发现是单线程处理。这时多核派不上用用场,有一颗高主频的Core i7、i9或者Xeon就很不错了。


上图是SOLIDWORKS的诊断界面,这里除了会建议使用专业显卡之外,还有一个比较实用的功能——链接到官网推荐显卡驱动版本的页面。对于有的软件来说,使用不同版本驱动也许没啥明显区别,但像CATIA、SOLIDWORKS这些真的不同。我也是在测试中踩过坑才有体会,比如之前讲过NVIDIA 431.70驱动好在哪里。


专业显卡价值点:FSAA、RealView的另类看法


这部分开始讲软件设置建议,也是本文的重点。


从上图可以看出是否打开反走样(反锯齿)显示的区别,我在《Precision 3540移动工作站评测(SolidWorks& Revit实战)》中也曾介绍过,这里的全屏反走样(FSAA)选项只有专业显卡才能打开。


反锯齿固然能改善视觉效果,但也会牺牲一定性能。所以在需要的情况下可以关闭。


“RealView”也是消费显卡不支持的,相当于在编辑模式下对模型进行了一定的预渲染。在需要性能的情况下可以牺牲画质,所以有时可以禁用RealView,以及“上色(shade)模式中的阴影选项”,特别是显卡性能不足的时候。


上图为SOLIDWORKS的性能选项。首先,从2020版本开始正式支持的“增强的图形性能”我已经介绍过,专业显卡允许并推荐打开,我理解它能更充分发挥OpenGL硬件加速从而带来明显提升。


另外几个选项:“重建模型时验证(启用高级实体检查)”推荐关闭;“自动以轻化状态装入零部件”推荐打开;“配合动画速度”推荐调节至“关”。


在装配体选项中,勾选“在零部件数量超过以下数量(默认500)时,使用轻化模式和大型装配体设置”,也可以进一步勾选“在零部件数量超过以下数量(默认5000)时,使用大型设计审阅模式”。


这些大多是牺牲显示的内容细节和质量来提高性能。毕竟在装配达到一定规模时,有点相当于宏观总览了,为了有个可以接受的操作速度,不见得需要把具体细节都显示出来。


不知大家是否留意过,有的数百MB大小ppt文档在自动保存时的磁盘I/O等待?SOLIDWORKS等软件也是同样的道理,如果用户有良好的手动Ctrl+S定期存盘习惯,那么在备份恢复选项里的“自动恢复——保存自动恢复信息时间间隔”就可以关掉。


轻量化显示后的性能提升对比


这个讨论章节,就是对比调节了相关选项后的SOLIDWORKS高性能模式,在大型装配体设计流程各个环节中的效果。


上表总结了零件处于不同状态的资源占用情况。从左到右,基本上是装入和重建模型的速度、显示速度越来越快的趋势。


比如最右边的“大型设计审阅”,装入内存的数据量极少,其它部分也是能省则省,所以达到“极快”的速度。


这4个环节我们按顺序来看。


辊道线装配”操作在常规设置下使用的总时间为2分28秒,而设置了“磁力配合/SpeedPak模式下的磁力配合”、“大型设计审阅模式”等之后缩短到38秒。


这是把4个机床在流水线上排列好。打开“大型设计审阅模式”之后,执行阵列的时间由1分39秒缩短到54秒。


设计变更操作,从1分44秒缩短到41秒。


最后的生成工程图操作,通过“出详图模式编辑”可以把时间从1分54秒缩短到35秒。


我们还需要更高性能的硬件吗?


看了以上这些另人兴奋的数字之后,是否可以说一款入门级图形工作站就可以适用于所有SOLIDWORKS环境呢?比如前面高凌峰老师介绍中出现的Precision 3551移动工作站+Quadro P620显卡。


当然不是。一方面性能更强大的硬件使用户能够处理更复杂的任务。这就好比4年前购买的3-4GB RAM内存的手机,如果你只开一个微信并且不太在意反应速度相对还好;如果同时还要用QQ、高德地图、美团骑个车啥的可能就有点要抓狂了。这时如果您换成最近1-2年的8GB或以上内存的手机,完全不是一个层次的使用体验。


就像微信、支付宝这些App随着升级越来占资源越多那样,SOLIDWORKS等软件也有类似不断“臃肿”(增加功能)并对硬件需求提高的趋势。就像买手机一样,有条件时可以考虑未来3年留出一定性能裕量。


另一方面,如果拥有性能较高的工作站硬件,用户就可以有更灵活的显示细节、图像效果选择范围。这点和打游戏是一样的道理。比如想搭配个4K分辨率的屏幕也能够更加从容。


今天就写到这里吧。我引用的培训视频资料,大家如有兴趣可以扫描下面的二维码详细学习。除了高凌峰老师讲解部分,还有2家赞助商Dell和NVIDIA的内容,就不在这里赘述了。


注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)

尊重知识,转载时请保留全文。感谢您的阅读和支持!

相关推荐

悠悠万事,吃饭为大(悠悠万事吃饭为大,什么意思)

新媒体编辑:杜岷赵蕾初审:程秀娟审核:汤小俊审签:周星...

高铁扒门事件升级版!婚宴上‘冲喜’老人团:我们抢的是社会资源

凌晨两点改方案时,突然收到婚庆团队发来的视频——胶东某酒店宴会厅,三个穿大红棉袄的中年妇女跟敢死队似的往前冲,眼瞅着就要扑到新娘的高额钻石项链上。要不是门口小伙及时阻拦,这婚礼造型团队熬了三个月的方案...

微服务架构实战:商家管理后台与sso设计,SSO客户端设计

SSO客户端设计下面通过模块merchant-security对SSO客户端安全认证部分的实现进行封装,以便各个接入SSO的客户端应用进行引用。安全认证的项目管理配置SSO客户端安全认证的项目管理使...

还在为 Spring Boot 配置类加载机制困惑?一文为你彻底解惑

在当今微服务架构盛行、项目复杂度不断攀升的开发环境下,SpringBoot作为Java后端开发的主流框架,无疑是我们手中的得力武器。然而,当我们在享受其自动配置带来的便捷时,是否曾被配置类加载...

Seata源码—6.Seata AT模式的数据源代理二

大纲1.Seata的Resource资源接口源码2.Seata数据源连接池代理的实现源码3.Client向Server发起注册RM的源码4.Client向Server注册RM时的交互源码5.数据源连接...

30分钟了解K8S(30分钟了解微积分)

微服务演进方向o面向分布式设计(Distribution):容器、微服务、API驱动的开发;o面向配置设计(Configuration):一个镜像,多个环境配置;o面向韧性设计(Resista...

SpringBoot条件化配置(@Conditional)全面解析与实战指南

一、条件化配置基础概念1.1什么是条件化配置条件化配置是Spring框架提供的一种基于特定条件来决定是否注册Bean或加载配置的机制。在SpringBoot中,这一机制通过@Conditional...

一招解决所有依赖冲突(克服依赖)

背景介绍最近遇到了这样一个问题,我们有一个jar包common-tool,作为基础工具包,被各个项目在引用。突然某一天发现日志很多报错。一看是NoSuchMethodError,意思是Dis...

你读过Mybatis的源码?说说它用到了几种设计模式

学习设计模式时,很多人都有类似的困扰——明明概念背得滚瓜烂熟,一到写代码就完全想不起来怎么用。就像学了一堆游泳技巧,却从没下过水实践,很难真正掌握。其实理解一个知识点,就像看立体模型,单角度观察总...

golang对接阿里云私有Bucket上传图片、授权访问图片

1、为什么要设置私有bucket公共读写:互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可...

spring中的资源的加载(spring加载原理)

最近在网上看到有人问@ContextConfiguration("classpath:/bean.xml")中除了classpath这种还有其他的写法么,看他的意思是想从本地文件...

Android资源使用(android资源文件)

Android资源管理机制在Android的开发中,需要使用到各式各样的资源,这些资源往往是一些静态资源,比如位图,颜色,布局定义,用户界面使用到的字符串,动画等。这些资源统统放在项目的res/独立子...

如何深度理解mybatis?(如何深度理解康乐服务质量管理的5个维度)

深度自定义mybatis回顾mybatis的操作的核心步骤编写核心类SqlSessionFacotryBuild进行解析配置文件深度分析解析SqlSessionFacotryBuild干的核心工作编写...

@Autowired与@Resource原理知识点详解

springIOCAOP的不多做赘述了,说下IOC:SpringIOC解决的是对象管理和对象依赖的问题,IOC容器可以理解为一个对象工厂,我们都把该对象交给工厂,工厂管理这些对象的创建以及依赖关系...

java的redis连接工具篇(java redis client)

在Java里,有不少用于连接Redis的工具,下面为你介绍一些主流的工具及其特点:JedisJedis是Redis官方推荐的Java连接工具,它提供了全面的Redis命令支持,且...