淺談高容量圖檔與記憶體資源之關係
2008/03/26 17:37
瀏覽2,498
迴響1
推薦1
引用0
隨著電腦輔助工程系統 3D 模型運算處理能力的大幅提升,你我共有的經驗是日益感到電腦系統硬體資源的不足而無法滿足日常工作的需要,一般人印象中對工作效能最具影響性之硬體資源應屬處理器、顯示卡及記憶體三項。 持平而論,處理器的等級除了對須執行大量分析運算的 CAE 軟體有較為明顯的影響之外,對絕大多數的 CAD/CAM 使用者並不會有太顯著的差別。 尤其是目前的電腦系統幾乎皆已搭載雙核心甚至是四核心處理器,即使是單核心其時脈也在 2.0GHz 以上,對一般 CAD/CAM 軟體的使用需求而言皆已相當足夠。 其間之差別僅在於使用電腦的方式與習慣,如果您工作時通常都只啟動一個應用程式,則單核心處理器已足以應付;若您的工作習慣是一次啟動數個應用程式同時執行各種作業,一邊工作一邊上網還一邊聽音樂…,只要成本負擔得起當然處理器的核心數是越多越好。 但依據一般工作場所中的實際經驗,雙核或四核心處理器皆已能夠經濟實惠地滿足實務需求。
至於顯示卡則可分為專業工程繪圖卡及消費型多媒體顯示卡兩大類,本文暫不討論專業工程繪圖卡的部分。 而消費型多媒體顯示卡可粗分為低階、中階、高階與超高階幾個等級,暫且不論低階與超高階的部分,高階和中階顯示卡的差別在於如果工作中需要大量、快速且精細地呈現具豐富變化的光線、陰影、材質及色彩等較高質感的動態畫面,或是要玩某些畫面較為華麗逼真的多媒體電玩遊戲,則有必要準備一張高階顯示卡。 至於對一般中低工作負荷量的 CAD/CAM 使用需求,對照現今發展極為快速的硬體技術,採用一張價位在 NT$5,000 至 NT$10,000 之間的中階多媒體顯示卡來處理日常工作應是綽綽有餘了。
接下來進入到本文的重點 -- 記憶體,這是大家較易忽略而且常常對其有所誤解的部分。 前面曾提及現今 3D 實體及曲面模型已十分普及地運用於日常工作中,故同時也令檔案容量日益增高,使用者往往得面對動輒數百 MB 的高容量圖檔,作業系統通常也會十分掃興地在關鍵時刻出現 Out of Memory 訊息來告訴您記憶體不足。 因為當電腦系統遇到需要處理和分析大量資料的狀況時,就會對記憶體資源產生高度的需求。 除了執行應用程式本身的需要之外,同時也需要有各種運算資料的暫存空間。 當處理高容量圖檔及大量資料時,會發生的主要問題是應用程式對記憶體的需求量會超過硬體上實際可用的記憶體亦即實體記憶體的數量。 例如在一安裝有 2GB 實體記憶體的 Windows XP 環境下,當記憶體需求到達約 1.7GB ~ 1.8GB 時,通常就會產生 Out of Memory 錯誤。 所以在這樣的一台機器上我們通常會建議將圖檔大小控制在 200MB ~ 250MB 以下,電腦上安裝的記憶體越少能夠載入操作的圖檔就越小。 任何電腦系統勢必有記憶體和 CPU 速度的限制,可供使用的記憶體資源依處理器和作業系統而有所不同,同時作業系統本身也必然會消耗掉一部分的記憶體資源。
32 位元的處理器和作業系統可以定義 2 ^ 32 = 4,294,967,296 = 4GB 的定址空間,這也是虛擬記憶體的上限。 然而 XP Pro 內定只配置 2GB 的虛擬記憶體給各應用程式使用,另外 2GB 的虛擬記憶體則保留給作業系統使用,這也是為什麼常聽人說在 Windows 環境下記憶體只能用到 2GB 的由來。 而 UNIX 配置給應用程式的虛擬記憶體是由系統組態設定的,一般在 3GB 左右。
64 位元的處理器 (例如 AMD64 或 Intel EMT64) 和作業系統 (例如 XP x64 或Vista 64) 可以提供非常大量的虛擬記憶體定址空間,理論上可達 2 ^ 64 = 18,446,744,073,709,552,000 = 16EB(exabytes),足以儲存非常大量的資訊。 例如 Google 搜尋引擎目前使用 2PT(petabytes)的磁碟空間。 如果有了 16EB,你可以把 9000 個 Google 的資料都放進記憶體裡。 但實際上目前的 64 位元作業系統僅配置 8TB (8192GB)的定址空間給 64 位元版本的應用程式使用,但這已是 32 位元作業系統及應用程式的 4096 倍,相信未來 64 位元架構的平台可以解決今日處理高容量資料的記憶體限制,不過在運算執行速度和檔案I/O 速度等方面的效能,並不會因此有多大的改變。
32 位元版本的 KeyCreator 自 5.5 版之後,大幅強化了對記憶體的運用效能,在 32 位元的 XP Pro 環境下支援 3GB 參數設定,可配置額外 1GB 的定址空間供應用程式使用,讓應用程式可運用的虛擬記憶體增加到 3GB (提升50%)。 另外在 64 位元版本的作業系統環境下則已內建支援 LARGEADDRESSAWARE 參數設定,讓應用程式可運用的虛擬記憶體增加到 4GB (提升100%)。
因此雖然有著前述各種先天條件的限制,但如果能注意到以下的技術細節,我們仍然可以調校設定出一個能滿足大部分使用者的高容量圖檔工作環境,茲將其原則要點分項簡述如下:
A. 硬體平台:1. 將記憶體擴增至 4GB 且儘可能採用 DDR2 800 以上之高速記憶體。 2. 處理器單核、雙核或四核心不拘,端視工作需求及使用習慣而定,整體穩定性最重要。 3. 搭配中階以上之顯示卡,具備至少 256MB DDR3 的高階視訊記憶體。
B. 作業系統:1. 採用 XP Pro 或 XP x64 作業系統,暫時不建議採用 Vista。 2. 於 XP Pro 設定 3GB 參數或於 XP x64 內建支援 LARGEADDRESSAWARE 參數。 3. 將虛擬記憶體分頁檔大小設定至 4GB。
C. 工作習慣:1. 儘量減少電腦開機時自動載入但非必要之各種常駐程式。 2. 如非必要儘可能不要同時開啟使用太多的應用軟體程式。
我們用一台經上述原則調校過,搭載 2.33GHz 雙核心處理器、256MB DDR3 中階顯示卡及 4GB DDR2 800 記憶體,作業系統為 32 位元 XP Pro 的工作站電腦,加以適當之調校設定令虛擬記憶體及分頁檔的可使用總量達 7.4GB 左右,並以 KeyCreator v6.5.2 來進行實機測試。 測試用的 CKD 圖檔大小為 271MB 內含 13800 個曲面圖素,其測試狀態及數據如下:
測試 1:單獨一張 271MB 大小圖檔載入時間 27 秒、回存時間 45 秒、虛擬記憶體分頁檔使用量 1.17GB。
測試 2:同時開啟三張 271MB 大小的圖檔,虛擬記憶體分頁檔使用量上升至 2.67GB 且系統運作正常,此時如果再開啟一張 271MB 大小的圖檔,因為會超過虛擬記憶體 3GB 的上限,系統將出現錯誤。
測試 3:將 KeyCreator 重複啟動五次,並且同時載入該 271MB 大小的圖檔,虛擬記憶體分頁檔使用量上升至 4.62GB,此時因為已經超過實體記憶體的可用數量,系統必須在記憶體與分頁檔之間交換大量的暫存資料,執行速度明顯下降,但仍能維持穩定正常運作。
以上測試證實了適當的調校設定的確能夠得到一個適用於高容量圖檔的工作環境,而且經由以上測試可推估得到的結論是在 32 位元版本的作業系統環境下,可開啟的圖檔大小上限約在 850MB 左右,若再考慮應用程式執行操作運算的需要,則建議將圖檔大小控制在 500MB 以下。 如果使用的是 64 位元版本的作業系統,則可將此數據再向上調高。 再加上操作 KeyCreator 時儘量降低其 undo/redo 指令程序的紀錄步驟數目並經常清除其紀錄,可能的話甚至可關閉該功能。 此外在遇到須對大量資料進行複雜的運算處理時,例如有一萬個實體零件要進行幾何簡化分析處理,則可以採取分批處理模式,亦即先選取五千個零件執行運算處理,完成後再處理另外五千個零件,這些實務技巧都能更進一步地幫助我們營造出適合高容量圖檔作業的工作環境。
至於顯示卡則可分為專業工程繪圖卡及消費型多媒體顯示卡兩大類,本文暫不討論專業工程繪圖卡的部分。 而消費型多媒體顯示卡可粗分為低階、中階、高階與超高階幾個等級,暫且不論低階與超高階的部分,高階和中階顯示卡的差別在於如果工作中需要大量、快速且精細地呈現具豐富變化的光線、陰影、材質及色彩等較高質感的動態畫面,或是要玩某些畫面較為華麗逼真的多媒體電玩遊戲,則有必要準備一張高階顯示卡。 至於對一般中低工作負荷量的 CAD/CAM 使用需求,對照現今發展極為快速的硬體技術,採用一張價位在 NT$5,000 至 NT$10,000 之間的中階多媒體顯示卡來處理日常工作應是綽綽有餘了。
接下來進入到本文的重點 -- 記憶體,這是大家較易忽略而且常常對其有所誤解的部分。 前面曾提及現今 3D 實體及曲面模型已十分普及地運用於日常工作中,故同時也令檔案容量日益增高,使用者往往得面對動輒數百 MB 的高容量圖檔,作業系統通常也會十分掃興地在關鍵時刻出現 Out of Memory 訊息來告訴您記憶體不足。 因為當電腦系統遇到需要處理和分析大量資料的狀況時,就會對記憶體資源產生高度的需求。 除了執行應用程式本身的需要之外,同時也需要有各種運算資料的暫存空間。 當處理高容量圖檔及大量資料時,會發生的主要問題是應用程式對記憶體的需求量會超過硬體上實際可用的記憶體亦即實體記憶體的數量。 例如在一安裝有 2GB 實體記憶體的 Windows XP 環境下,當記憶體需求到達約 1.7GB ~ 1.8GB 時,通常就會產生 Out of Memory 錯誤。 所以在這樣的一台機器上我們通常會建議將圖檔大小控制在 200MB ~ 250MB 以下,電腦上安裝的記憶體越少能夠載入操作的圖檔就越小。 任何電腦系統勢必有記憶體和 CPU 速度的限制,可供使用的記憶體資源依處理器和作業系統而有所不同,同時作業系統本身也必然會消耗掉一部分的記憶體資源。
32 位元的處理器和作業系統可以定義 2 ^ 32 = 4,294,967,296 = 4GB 的定址空間,這也是虛擬記憶體的上限。 然而 XP Pro 內定只配置 2GB 的虛擬記憶體給各應用程式使用,另外 2GB 的虛擬記憶體則保留給作業系統使用,這也是為什麼常聽人說在 Windows 環境下記憶體只能用到 2GB 的由來。 而 UNIX 配置給應用程式的虛擬記憶體是由系統組態設定的,一般在 3GB 左右。
64 位元的處理器 (例如 AMD64 或 Intel EMT64) 和作業系統 (例如 XP x64 或Vista 64) 可以提供非常大量的虛擬記憶體定址空間,理論上可達 2 ^ 64 = 18,446,744,073,709,552,000 = 16EB(exabytes),足以儲存非常大量的資訊。 例如 Google 搜尋引擎目前使用 2PT(petabytes)的磁碟空間。 如果有了 16EB,你可以把 9000 個 Google 的資料都放進記憶體裡。 但實際上目前的 64 位元作業系統僅配置 8TB (8192GB)的定址空間給 64 位元版本的應用程式使用,但這已是 32 位元作業系統及應用程式的 4096 倍,相信未來 64 位元架構的平台可以解決今日處理高容量資料的記憶體限制,不過在運算執行速度和檔案I/O 速度等方面的效能,並不會因此有多大的改變。
32 位元版本的 KeyCreator 自 5.5 版之後,大幅強化了對記憶體的運用效能,在 32 位元的 XP Pro 環境下支援 3GB 參數設定,可配置額外 1GB 的定址空間供應用程式使用,讓應用程式可運用的虛擬記憶體增加到 3GB (提升50%)。 另外在 64 位元版本的作業系統環境下則已內建支援 LARGEADDRESSAWARE 參數設定,讓應用程式可運用的虛擬記憶體增加到 4GB (提升100%)。
因此雖然有著前述各種先天條件的限制,但如果能注意到以下的技術細節,我們仍然可以調校設定出一個能滿足大部分使用者的高容量圖檔工作環境,茲將其原則要點分項簡述如下:
A. 硬體平台:1. 將記憶體擴增至 4GB 且儘可能採用 DDR2 800 以上之高速記憶體。 2. 處理器單核、雙核或四核心不拘,端視工作需求及使用習慣而定,整體穩定性最重要。 3. 搭配中階以上之顯示卡,具備至少 256MB DDR3 的高階視訊記憶體。
B. 作業系統:1. 採用 XP Pro 或 XP x64 作業系統,暫時不建議採用 Vista。 2. 於 XP Pro 設定 3GB 參數或於 XP x64 內建支援 LARGEADDRESSAWARE 參數。 3. 將虛擬記憶體分頁檔大小設定至 4GB。
C. 工作習慣:1. 儘量減少電腦開機時自動載入但非必要之各種常駐程式。 2. 如非必要儘可能不要同時開啟使用太多的應用軟體程式。
我們用一台經上述原則調校過,搭載 2.33GHz 雙核心處理器、256MB DDR3 中階顯示卡及 4GB DDR2 800 記憶體,作業系統為 32 位元 XP Pro 的工作站電腦,加以適當之調校設定令虛擬記憶體及分頁檔的可使用總量達 7.4GB 左右,並以 KeyCreator v6.5.2 來進行實機測試。 測試用的 CKD 圖檔大小為 271MB 內含 13800 個曲面圖素,其測試狀態及數據如下:
測試 1:單獨一張 271MB 大小圖檔載入時間 27 秒、回存時間 45 秒、虛擬記憶體分頁檔使用量 1.17GB。
測試 2:同時開啟三張 271MB 大小的圖檔,虛擬記憶體分頁檔使用量上升至 2.67GB 且系統運作正常,此時如果再開啟一張 271MB 大小的圖檔,因為會超過虛擬記憶體 3GB 的上限,系統將出現錯誤。
測試 3:將 KeyCreator 重複啟動五次,並且同時載入該 271MB 大小的圖檔,虛擬記憶體分頁檔使用量上升至 4.62GB,此時因為已經超過實體記憶體的可用數量,系統必須在記憶體與分頁檔之間交換大量的暫存資料,執行速度明顯下降,但仍能維持穩定正常運作。
以上測試證實了適當的調校設定的確能夠得到一個適用於高容量圖檔的工作環境,而且經由以上測試可推估得到的結論是在 32 位元版本的作業系統環境下,可開啟的圖檔大小上限約在 850MB 左右,若再考慮應用程式執行操作運算的需要,則建議將圖檔大小控制在 500MB 以下。 如果使用的是 64 位元版本的作業系統,則可將此數據再向上調高。 再加上操作 KeyCreator 時儘量降低其 undo/redo 指令程序的紀錄步驟數目並經常清除其紀錄,可能的話甚至可關閉該功能。 此外在遇到須對大量資料進行複雜的運算處理時,例如有一萬個實體零件要進行幾何簡化分析處理,則可以採取分批處理模式,亦即先選取五千個零件執行運算處理,完成後再處理另外五千個零件,這些實務技巧都能更進一步地幫助我們營造出適合高容量圖檔作業的工作環境。
迴響(1) :
1樓. CADKEY Fans2008/03/30 11:12極具參考價值
Good Reference !Thank you! We love KeyCreator 於 2010/09/18 14:54回覆


