如今,隨著SOLIDWORKS功能的越來越強大,以及計算機科學的不斷發(fā)展,很多的SolidWorks客戶普遍反應SolidWorks軟件運行速度慢。經(jīng)過SolidWorks工程師分析,其實我們可以客觀的去看待這個問題。下面我們就從以下幾個方面來注意: 1、SolidWorks是基于windows開發(fā)的三維設計軟件,windows越做越大,則SolidWorks必須跟其步伐。這是客觀的問題所在。
; H3 [1 I5 `# i' ? 2、客戶工程師的建模方式不合理導致SolidWorks運行速度慢,這是可以去解決的。6 P7 R. c7 F0 I" B) u
3、由于客戶電腦上安裝了一些加密軟件或者翻譯軟件,可能與SolidWorks不兼容,導致SolidWorks運行速度慢。 第一個原因是我們無法改變的,所以我們不去探討。第三個原因處理比較簡單,主要停用相關的不兼容軟件即可。我們在這里也不做詳細的介紹。我們主要圍繞第二點去探討,如何提高則SolidWorks的運行速度。
5 Q, d \2 X5 a2 s一、原因分析:/ h8 f' f2 `1 b" p n7 L/ a
通過分析客戶的裝配體和相關工程圖,主要原因如下:
A, m7 f/ ]0 D; c9 P2 `+ E0 Y1. 裝配體頂層零件過多,用戶習慣在裝配體的頂層插入很多單個零件(例如各種螺釘和墊圈),從而在打開編輯裝配體的時候,SolidWorks需要處理大量數(shù)據(jù),影響運行速度;* F) X/ V) r4 C% Q+ }3 `
2. 裝配體及其子裝配體中包含許多配合錯誤,耗費系統(tǒng)額外的時間和資源;
1 m* Y- z( f9 ?3 F3. 裝配體中的零件有建模錯誤; A4 N& e/ k2 N0 F
4. 裝配體中有許多空的、無效的零部件陣列;
* J9 @' x( |; @# a4 Q5. 裝配體包含的零件中包含過多細節(jié),例如,裝配體中包含一個圈數(shù)很多的彈簧、零件的銘牌上的采用文字切除拉伸,這些都是非常耗費系統(tǒng)資源的細節(jié);8 \8 ?! O/ f* Q
6. 工程圖的模板較大,模板中包含了圖形數(shù)據(jù),單個模板容量約2MB,額外增加了工程圖文件的容量;2 z0 @# c; z; G: |5 ]0 \
7. 部分電腦配置需要改善;1 B7 m" u" v; j0 X8 n
二、解決方法: b6 \- ~- E# P4 f) k
無論零件多少,在裝配體環(huán)境下都有一些最佳的操作方法可循,這些方法可以幫助用戶提高文件的打開速度和編輯速度。
1 _% q1 h" O" s' F. t$ r" A* ?1. 細分子裝配體。在裝配體中,應該使用子裝配體代替多個零件,尤其在裝配體的頂層,建議只保留子裝配體,螺釘、墊圈、鉚釘等各種標準件裝配到各個子裝配中去;
, g5 c% ^* ^/ G9 r; D- X2. 向SmarTeam檢入裝配體前先檢查文件,重建模型、排除錯誤;
9 P/ Q2 c1 P. T! l* x" p3 p3. 刪除裝配體中的空陣列;
( n4 b! o% z( x* h4. 盡量合理利用零部件陣列;6 O- v0 q4 `9 J$ a( g
5. 盡量減少各種零件中的細節(jié)特征,例如,銘牌的文字顯示不采用拉伸切除的方法,而用草圖文字得到,彈簧采用示意畫法,減少彈簧的圈數(shù);
$ _) a" n% C% j6. 減小圖紙模板的大小,將模板中的圖片去掉,改用線條形式的Logo,可減少工程圖的占用空間和系統(tǒng)資源;7 D; s" F$ X8 ^; G) u3 O4 ^# Z; F
7. 在編輯大裝配體工程圖的時候,先隱藏其他視圖,只保留工作視圖,需要的時候才顯示其他視圖;
) A# M# J7 s* p2 C& I0 k8. 在只需要打印工程圖的時候,可先用只看形式打開,可快速查看圖紙并打。
( W+ A( j: a- F% V t- z9. 硬件配置推薦(推薦使用圖形工作站)3 \6 y0 p3 A- G+ D1 m
內存:建議6G以上(禁用虛擬內存和釋放系統(tǒng)保留內存);4 M$ Y! V" d; f7 R3 y
大型建模:Win7-64位處理器,同時配備6G或以上的內存(大型建模指零件特征數(shù)目超過1000、裝配體零件數(shù)目超過10000或者模型超出32位系統(tǒng)的運行極限);
( d; j0 X& s& X B* E顯卡: N卡兼容性好,A卡速度占優(yōu)(N卡驅動較A卡催化劑更成熟)
2 C, |4 z; t+ a7 x' SCPU:不追求多核 (CPU主頻越高越好。高主頻雙核優(yōu)于低主頻四核)
5 s6 U2 X) }' r' w分析、渲染和PDM模塊能有效利用多CPU和多核CPU.
( U5 `! H) p" @4 R4 x! u7 a$ G5 t系統(tǒng)盤:盤空閑空間 建議不少于30G0 ]/ k! O. f* ]) W
硬盤:7200轉 (開啟ACHI模式,減小計算機瓶頸)
+ b* i, O; n7 c" i3 A# u/ X; ^操作系統(tǒng):Window 7 Professional 或以上( Q: }9 ?( X U, L" Z( L3 o
Office系統(tǒng):Microsoft Office 2007 /2010或以上5 J& w) I- o5 L3 S( K7 ~) s" R
網(wǎng)絡:Novell公司出品的網(wǎng)絡以及其他非Windows平臺的網(wǎng)絡存儲設備沒有經(jīng)過SolidWorks的測試,不建議客戶使用。(服務器和客戶端盡量在一個網(wǎng)段,保證路由器等設備運轉正常)
. x' _3 |- Q" c W網(wǎng)絡許可服務器需求:具備USB端口或者并行端口。, U4 Y7 b. K$ E2 t. [, P$ L- y* P
三、小常識:( {! a8 d9 X! N
什么是系統(tǒng)資源
# x0 J6 ?& Q9 y, f 談到Windows時,有一個必說的話題--系統(tǒng)資源(SystemResource),但系統(tǒng)資源到底是什么,有人說是指CPU,有人說是指硬盤空間,有人說是指內存……當應用程序在Windows中運行時,Windows必須實時"跟蹤"該應用程序的運行,并保留與之相關的許多信息,如按鈕、光標、菜單的位置和位圖、窗口的狀況等,這些信息由Windows保留在一種叫堆的內存塊中,堆的英文為Heap。簡單地說,堆是采用特殊機制管理的內存塊。由Windows的一個系統(tǒng)內核User.exe管理的堆叫作User資源堆(UserResource Heap),由另一個系統(tǒng)內核Gdi.exe管理的堆叫作GDI資源堆(GraphicalDeviceInterface Resource Heap,簡稱GDI ResourceHeap),User資源堆和GDI資源堆合稱為系統(tǒng)資源堆(System ResourceHeap),習慣上就把它們叫作系統(tǒng)資源(SystemResource)
3 F- e$ Y. L' k: s* C系統(tǒng)資源的辯析
( d- |) d: o% T. W5 W1 p/ O 不要將系統(tǒng)資源和CPU資源(CPU使用率)相混淆,硬盤、光驅、軟貓的數(shù)據(jù)處理、顯卡的3D圖像處理、聲卡的3D音效處理占用的都是CPU時間(即消耗CPU資源),而不是系統(tǒng)資源,這些硬件設備的先進與否與占用系統(tǒng)資源的多少根本沒有任何關系,可至今許多人還是將它們混為一談。按習慣,談到硬件的資源占用一般是指其CPU資源的占用,而軟件的資源占用,既包括CPU資源占用又包括系統(tǒng)資源(堆)占用,但計算機用戶關心的一般是后者,因此談到軟件的資源占用時一般是指其對系統(tǒng)資源的占用。0 Y, r% P9 V8 J, Q$ H
這也解釋了,無論客戶的硬件配置如何,與軟件運行占用的系統(tǒng)資源是無關的。SolidWorks無故退出和CPU占用率居高不下,不在于客戶的內存大小,CPU頻率高低等硬件配置
0 C! h4 {: V, U/ M, E5 ^% Y& |系統(tǒng)資源的作用; Z/ b" g7 B* L1 V
系統(tǒng)資源是用來跟蹤應用程序運行而不是用來運行應用程序的,就像公路上車多車少,并不是車稍微多點就沒有辦法開車了。因此可以肯定地說,影響計算機系統(tǒng)性能的是計算機系統(tǒng)其他的因素,而絕不會是可用系統(tǒng)資源的大小。當用戶計算機系統(tǒng)性能明顯降低時,應該從別的方面去查找原因,而不要馬上懷疑到系統(tǒng)資源身上。 從硬件方面來看,內存太小導致系統(tǒng)不得不頻繁使用虛擬內存是影響系統(tǒng)性能的主要原因之一; 從軟件方面來看,因為Windows是一個多任務的操作系統(tǒng),大家都習慣同時運行多個應用程序而不管當時是否實際需要。 而編寫和調試這些應用程序的程序員一般只考慮其在單任務環(huán)境下的運行,而沒有過多的精力從多任務環(huán)境來考慮和調試,因此許多應用程序間往往不能很好地協(xié)同工作,同時運行多個這樣的應用程序會因它們彼此之間發(fā)生沖突而導致系統(tǒng)性能下降。當然,Windows多任務管理機制的不完善也是造成這個問題的主要原因之一* D- R G1 \% h5 v! \7 T, d% v
進程優(yōu)先級7 T; }4 H9 [4 h q
每個進程(正在運行的程序)都有相應的優(yōu)先級,優(yōu)先級決定它何時運行和接收多少CPU時間。最終的優(yōu)先級共32級,是從0到31的數(shù)值,稱為基本優(yōu)先級別(baseprioritylevel)。系統(tǒng)按照不同的優(yōu)先級調度進程的運行。0-15級是普通優(yōu)先級,進程的優(yōu)先級可以動態(tài)變化,高優(yōu)先級進程優(yōu)先運行,只有高優(yōu)先級進程不運行時,才調度低優(yōu)先級進程運行。優(yōu)先級相同的進程按照時間片輪流運行。16-31級是實時優(yōu)先級,實時優(yōu)先級與普通優(yōu)先級的最大區(qū)別在于相同優(yōu)先級進程的運行不按照時間片輪轉,而是先運行的進程就先控制CPU,如果它不主動放棄控制,同級或低優(yōu)先級的進程就無法運行
3 R, N: ^4 I9 R5 v# n/ \5 i2 u! O優(yōu)先級提升策略
! y/ W+ E5 }0 ^$ s3 R( u d' y 每個進程(正在運行的程序)都有相應的優(yōu)先級,優(yōu)先級決定它何時運行和接收多少CPU時間。最終的優(yōu)先級共32級,是從0到31的數(shù)值,稱為基本優(yōu)先級別(baseprioritylevel)。系統(tǒng)按照不同的優(yōu)先級調度進程的運行。0-15級是普通優(yōu)先級,進程的優(yōu)先級可以動態(tài)變化,高優(yōu)先級進程優(yōu)先運行,只有高優(yōu)先級進程不運行時,才調度低優(yōu)先級進程運行。優(yōu)先級相同的進程按照時間片輪流運行。16-31級是實時優(yōu)先級,實時優(yōu)先級與普通優(yōu)先級的最大區(qū)別在于相同優(yōu)先級進程的運行不按照時間片輪轉,而是先運行的進程就先控制CPU,如果它不主動放棄控制,同級或低優(yōu)先級的進程就無法運行。像QQ之類要長時間占用進程的可以調制低于標準的優(yōu)先級。5 c/ `- y9 N* @5 w4 f
改變優(yōu)先級提升性能8 X' D6 i! ^+ f) K6 N$ _) `
改變程序優(yōu)先級可以提高性能。這里優(yōu)先級是指電腦怎樣決定哪個程序應該首先得到CPU的時間,和怎樣分配CPU時間給每一個程序,優(yōu)先級一般分6級(在后臺它更復雜分31級)。優(yōu)先級由線程優(yōu)先權(ThreadPriority)和優(yōu)先類型(PriorityClass)決定。優(yōu)先類型有幾種基本的優(yōu)先程度設定(盡管在后臺它更復雜),一般有:實時、高、標準、和空閑等。其中實時的程序會優(yōu)先于其它任何程序占用CPU的時間,大多數(shù)情況下只有操作系統(tǒng)本身的程序才有這個特權。其它的設置只是操作系統(tǒng)用來決定程序占用CPU時間的簡單排列。其中線程是CPU基本執(zhí)行單位,CPU在一個瞬時只能處理一個線程,線程優(yōu)先可以理解為CPU優(yōu)先處理優(yōu)先權高的線程,再處理下一級優(yōu)先權線程。當一個線程在執(zhí)行中被別的線程優(yōu)先占有CPU時,操作系統(tǒng)利用CPU的硬件設施保持它的現(xiàn)場;當這個線程重新得到調度時,該現(xiàn)場被恢復。了解優(yōu)先權大致原理,我們可以從兩種途徑來設置優(yōu)先權
) [4 E" ~& e; \* U/ R5 W四、結束語
- o- o. ^# q, f" x0 P, H7 ~ SolidWorks軟件是款易學易用的三維設計軟件,在使用的過程中我們可以先分析一下我們的模型再去相應的進行合理的建模,這樣就能提高了我們的效率。 |