如今,隨著SOLIDWORKS功能的越來越強大,以及計算機科學的不斷發(fā)展,很多的SolidWorks客戶普遍反應(yīng)SolidWorks軟件運行速度慢。經(jīng)過SolidWorks工程師分析,其實我們可以客觀的去看待這個問題。下面我們就從以下幾個方面來注意: 1、SolidWorks是基于windows開發(fā)的三維設(shè)計軟件,windows越做越大,則SolidWorks必須跟其步伐。這是客觀的問題所在。
1 L4 l7 [6 n$ r# ?0 _ 2、客戶工程師的建模方式不合理導致SolidWorks運行速度慢,這是可以去解決的。
g2 r0 }# h" i& ]' {% H 3、由于客戶電腦上安裝了一些加密軟件或者翻譯軟件,可能與SolidWorks不兼容,導致SolidWorks運行速度慢。 第一個原因是我們無法改變的,所以我們不去探討。第三個原因處理比較簡單,主要停用相關(guān)的不兼容軟件即可。我們在這里也不做詳細的介紹。我們主要圍繞第二點去探討,如何提高則SolidWorks的運行速度。
6 v" f. B! D* X* `一、原因分析:
% R( R& g- ~2 B$ l+ X通過分析客戶的裝配體和相關(guān)工程圖,主要原因如下:' r' M( N8 h" h0 ]6 o5 ?% T
1. 裝配體頂層零件過多,用戶習慣在裝配體的頂層插入很多單個零件(例如各種螺釘和墊圈),從而在打開編輯裝配體的時候,SolidWorks需要處理大量數(shù)據(jù),影響運行速度;3 h" m9 j: s- |
2. 裝配體及其子裝配體中包含許多配合錯誤,耗費系統(tǒng)額外的時間和資源;
$ x9 P+ s* j6 D# T9 D) o, u4 ?) r3. 裝配體中的零件有建模錯誤;# Q, q9 V3 q9 S; d7 j
4. 裝配體中有許多空的、無效的零部件陣列;/ _9 ?$ n+ V( `( [* n7 I
5. 裝配體包含的零件中包含過多細節(jié),例如,裝配體中包含一個圈數(shù)很多的彈簧、零件的銘牌上的采用文字切除拉伸,這些都是非常耗費系統(tǒng)資源的細節(jié);
" l! b" e5 p5 S0 V6. 工程圖的模板較大,模板中包含了圖形數(shù)據(jù),單個模板容量約2MB,額外增加了工程圖文件的容量;* H, C, z) [1 k) f8 e7 b: J
7. 部分電腦配置需要改善;0 p! I C# Q2 B) w' r' K+ ?" \+ M
二、解決方法:5 n4 W0 I. ~, h& I+ n
無論零件多少,在裝配體環(huán)境下都有一些最佳的操作方法可循,這些方法可以幫助用戶提高文件的打開速度和編輯速度。
0 Z8 e' y) }- k8 B, f1 g. `- T1. 細分子裝配體。在裝配體中,應(yīng)該使用子裝配體代替多個零件,尤其在裝配體的頂層,建議只保留子裝配體,螺釘、墊圈、鉚釘等各種標準件裝配到各個子裝配中去;
8 U1 }& m4 \# F0 G( H# O1 L2. 向SmarTeam檢入裝配體前先檢查文件,重建模型、排除錯誤;
7 f" T% L0 Y6 ^6 T2 L9 ?3. 刪除裝配體中的空陣列;& ]2 f; b3 Z8 w
4. 盡量合理利用零部件陣列;( o( W! _) U3 R% k$ R
5. 盡量減少各種零件中的細節(jié)特征,例如,銘牌的文字顯示不采用拉伸切除的方法,而用草圖文字得到,彈簧采用示意畫法,減少彈簧的圈數(shù);8 K" ^) z7 ^" I1 J8 U% D7 l
6. 減小圖紙模板的大小,將模板中的圖片去掉,改用線條形式的Logo,可減少工程圖的占用空間和系統(tǒng)資源;: D, g8 ~2 c# D1 n& V: N6 A
7. 在編輯大裝配體工程圖的時候,先隱藏其他視圖,只保留工作視圖,需要的時候才顯示其他視圖;
( ?: r8 l& k6 y4 c8. 在只需要打印工程圖的時候,可先用只看形式打開,可快速查看圖紙并打;
4 D$ Y0 F: a& B1 E4 Y" h9. 硬件配置推薦(推薦使用圖形工作站)
: V: m- Q9 p, T* B% d* }內(nèi)存:建議6G以上(禁用虛擬內(nèi)存和釋放系統(tǒng)保留內(nèi)存);5 [, U! o! O7 c
大型建模:Win7-64位處理器,同時配備6G或以上的內(nèi)存(大型建模指零件特征數(shù)目超過1000、裝配體零件數(shù)目超過10000或者模型超出32位系統(tǒng)的運行極限);5 x8 m; L% Z' Z$ Z
顯卡: N卡兼容性好,A卡速度占優(yōu)(N卡驅(qū)動較A卡催化劑更成熟)
4 ^( a- N0 k6 i) XCPU:不追求多核 (CPU主頻越高越好。高主頻雙核優(yōu)于低主頻四核)' n+ x% t4 g) `! J
分析、渲染和PDM模塊能有效利用多CPU和多核CPU.
7 i9 ^: v- X1 l9 M/ h8 S系統(tǒng)盤:盤空閑空間 建議不少于30G# J# K& t/ E* t e j
硬盤:7200轉(zhuǎn) (開啟ACHI模式,減小計算機瓶頸)
6 E' F( O* f0 v. J( N0 t操作系統(tǒng):Window 7 Professional 或以上
" m" n/ {9 g& @% ^, K' wOffice系統(tǒng):Microsoft Office 2007 /2010或以上
8 x) \! G* j+ C1 [' q網(wǎng)絡(luò):Novell公司出品的網(wǎng)絡(luò)以及其他非Windows平臺的網(wǎng)絡(luò)存儲設(shè)備沒有經(jīng)過SolidWorks的測試,不建議客戶使用。(服務(wù)器和客戶端盡量在一個網(wǎng)段,保證路由器等設(shè)備運轉(zhuǎn)正常)
" J7 T9 S! I7 d$ @ L& `! D網(wǎng)絡(luò)許可服務(wù)器需求:具備USB端口或者并行端口。: j9 \! {0 P- K7 r8 ?
三、小常識:3 U+ e J7 o0 E& v7 i/ D
什么是系統(tǒng)資源4 M1 z5 Y3 X. K' C% Q2 m
談到Windows時,有一個必說的話題--系統(tǒng)資源(SystemResource),但系統(tǒng)資源到底是什么,有人說是指CPU,有人說是指硬盤空間,有人說是指內(nèi)存……當應(yīng)用程序在Windows中運行時,Windows必須實時"跟蹤"該應(yīng)用程序的運行,并保留與之相關(guān)的許多信息,如按鈕、光標、菜單的位置和位圖、窗口的狀況等,這些信息由Windows保留在一種叫堆的內(nèi)存塊中,堆的英文為Heap。簡單地說,堆是采用特殊機制管理的內(nèi)存塊。由Windows的一個系統(tǒng)內(nèi)核User.exe管理的堆叫作User資源堆(UserResource Heap),由另一個系統(tǒng)內(nèi)核Gdi.exe管理的堆叫作GDI資源堆(GraphicalDeviceInterface Resource Heap,簡稱GDI ResourceHeap),User資源堆和GDI資源堆合稱為系統(tǒng)資源堆(System ResourceHeap),習慣上就把它們叫作系統(tǒng)資源(SystemResource)2 c- D' O. I5 ]5 Y- |3 S. a3 v
系統(tǒng)資源的辯析# _% V, ^5 x3 D7 ?; c, G
不要將系統(tǒng)資源和CPU資源(CPU使用率)相混淆,硬盤、光驅(qū)、軟貓的數(shù)據(jù)處理、顯卡的3D圖像處理、聲卡的3D音效處理占用的都是CPU時間(即消耗CPU資源),而不是系統(tǒng)資源,這些硬件設(shè)備的先進與否與占用系統(tǒng)資源的多少根本沒有任何關(guān)系,可至今許多人還是將它們混為一談。按習慣,談到硬件的資源占用一般是指其CPU資源的占用,而軟件的資源占用,既包括CPU資源占用又包括系統(tǒng)資源(堆)占用,但計算機用戶關(guān)心的一般是后者,因此談到軟件的資源占用時一般是指其對系統(tǒng)資源的占用。
! z) f& Y2 k: z. Z6 t2 U; J8 z這也解釋了,無論客戶的硬件配置如何,與軟件運行占用的系統(tǒng)資源是無關(guān)的。SolidWorks無故退出和CPU占用率居高不下,不在于客戶的內(nèi)存大小,CPU頻率高低等硬件配置
3 B3 p0 g. f8 E2 b( T j A0 n3 T系統(tǒng)資源的作用. d1 A) r' T0 B; b9 Q7 W/ O2 p
系統(tǒng)資源是用來跟蹤應(yīng)用程序運行而不是用來運行應(yīng)用程序的,就像公路上車多車少,并不是車稍微多點就沒有辦法開車了。因此可以肯定地說,影響計算機系統(tǒng)性能的是計算機系統(tǒng)其他的因素,而絕不會是可用系統(tǒng)資源的大小。當用戶計算機系統(tǒng)性能明顯降低時,應(yīng)該從別的方面去查找原因,而不要馬上懷疑到系統(tǒng)資源身上。 從硬件方面來看,內(nèi)存太小導致系統(tǒng)不得不頻繁使用虛擬內(nèi)存是影響系統(tǒng)性能的主要原因之一; 從軟件方面來看,因為Windows是一個多任務(wù)的操作系統(tǒng),大家都習慣同時運行多個應(yīng)用程序而不管當時是否實際需要。 而編寫和調(diào)試這些應(yīng)用程序的程序員一般只考慮其在單任務(wù)環(huán)境下的運行,而沒有過多的精力從多任務(wù)環(huán)境來考慮和調(diào)試,因此許多應(yīng)用程序間往往不能很好地協(xié)同工作,同時運行多個這樣的應(yīng)用程序會因它們彼此之間發(fā)生沖突而導致系統(tǒng)性能下降。當然,Windows多任務(wù)管理機制的不完善也是造成這個問題的主要原因之一
$ V; C5 E2 G7 s" @' N$ |1 D5 y進程優(yōu)先級
S/ s' \$ O1 [ 每個進程(正在運行的程序)都有相應(yīng)的優(yōu)先級,優(yōu)先級決定它何時運行和接收多少CPU時間。最終的優(yōu)先級共32級,是從0到31的數(shù)值,稱為基本優(yōu)先級別(baseprioritylevel)。系統(tǒng)按照不同的優(yōu)先級調(diào)度進程的運行。0-15級是普通優(yōu)先級,進程的優(yōu)先級可以動態(tài)變化,高優(yōu)先級進程優(yōu)先運行,只有高優(yōu)先級進程不運行時,才調(diào)度低優(yōu)先級進程運行。優(yōu)先級相同的進程按照時間片輪流運行。16-31級是實時優(yōu)先級,實時優(yōu)先級與普通優(yōu)先級的最大區(qū)別在于相同優(yōu)先級進程的運行不按照時間片輪轉(zhuǎn),而是先運行的進程就先控制CPU,如果它不主動放棄控制,同級或低優(yōu)先級的進程就無法運行
) e) ^9 Y( k* ?+ \- @優(yōu)先級提升策略
( o# j# K3 K( p2 {5 R0 {& V' g 每個進程(正在運行的程序)都有相應(yīng)的優(yōu)先級,優(yōu)先級決定它何時運行和接收多少CPU時間。最終的優(yōu)先級共32級,是從0到31的數(shù)值,稱為基本優(yōu)先級別(baseprioritylevel)。系統(tǒng)按照不同的優(yōu)先級調(diào)度進程的運行。0-15級是普通優(yōu)先級,進程的優(yōu)先級可以動態(tài)變化,高優(yōu)先級進程優(yōu)先運行,只有高優(yōu)先級進程不運行時,才調(diào)度低優(yōu)先級進程運行。優(yōu)先級相同的進程按照時間片輪流運行。16-31級是實時優(yōu)先級,實時優(yōu)先級與普通優(yōu)先級的最大區(qū)別在于相同優(yōu)先級進程的運行不按照時間片輪轉(zhuǎn),而是先運行的進程就先控制CPU,如果它不主動放棄控制,同級或低優(yōu)先級的進程就無法運行。像QQ之類要長時間占用進程的可以調(diào)制低于標準的優(yōu)先級。6 D7 }. x7 ?+ a
改變優(yōu)先級提升性能
/ `, O1 [6 Q4 p, K3 Q% R ]" a 改變程序優(yōu)先級可以提高性能。這里優(yōu)先級是指電腦怎樣決定哪個程序應(yīng)該首先得到CPU的時間,和怎樣分配CPU時間給每一個程序,優(yōu)先級一般分6級(在后臺它更復雜分31級)。優(yōu)先級由線程優(yōu)先權(quán)(ThreadPriority)和優(yōu)先類型(PriorityClass)決定。優(yōu)先類型有幾種基本的優(yōu)先程度設(shè)定(盡管在后臺它更復雜),一般有:實時、高、標準、和空閑等。其中實時的程序會優(yōu)先于其它任何程序占用CPU的時間,大多數(shù)情況下只有操作系統(tǒng)本身的程序才有這個特權(quán)。其它的設(shè)置只是操作系統(tǒng)用來決定程序占用CPU時間的簡單排列。其中線程是CPU基本執(zhí)行單位,CPU在一個瞬時只能處理一個線程,線程優(yōu)先可以理解為CPU優(yōu)先處理優(yōu)先權(quán)高的線程,再處理下一級優(yōu)先權(quán)線程。當一個線程在執(zhí)行中被別的線程優(yōu)先占有CPU時,操作系統(tǒng)利用CPU的硬件設(shè)施保持它的現(xiàn)場;當這個線程重新得到調(diào)度時,該現(xiàn)場被恢復。了解優(yōu)先權(quán)大致原理,我們可以從兩種途徑來設(shè)置優(yōu)先權(quán)
. e, [1 t1 ^9 Z1 e' I四、結(jié)束語
7 k* {' L& k- V; C1 |2 O0 p SolidWorks軟件是款易學易用的三維設(shè)計軟件,在使用的過程中我們可以先分析一下我們的模型再去相應(yīng)的進行合理的建模,這樣就能提高了我們的效率。 |