全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:765
推到 Plurk!
推到 Facebook!

關於存檔速度

答題得分者是:RedSnow
poaivy
中階會員


發表:40
回覆:78
積分:53
註冊:2004-08-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-26 02:06:50 IP:140.117.xxx.xxx 未訂閱
void __fastcall TForm1::capBitmapGrabbed(TCapturedBitmap *CapturedImage)
{     AnsiString FileName = Time();          CapturedImage->SaveToFile(IntToStr(is) ".bmp");
      Memo1->Lines->Add(FileName ".bmp")  ;
  Image1->Picture->Assign(CapturedImage);
  is  ;
}
想請問各位大大 關於上面的程式碼 在我遇到當我所擷取到的圖片大小為1380*1000時 會變成存一張圖片需要4mb的空間 相對的我在一秒裡面所能抓存的次數就少了很多 大約只剩下一秒三到四張 如果單單只有擷取的動作可以到達一秒12張的次數 所以想問依下有無更快的抓存方式來改善===== 我有試過用六個imagebuffer來處理(在TIMER底下)當第一個抓完後觸發第二個抓第一個開始存等第二個抓完後第三個開始抓第二個開始存以此類推,但是也無法達到比較好的改善,一樣式一秒三四張上下。
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-26 14:08:29 IP:219.137.xxx.xxx 未訂閱
poaivy 您好:    通常有做到磁碟 I/O 時,都會拖慢其它的動作,這是因為磁碟讀寫的速度較慢所致,如果要提高效率的話,從我的角度提供幾點意見供您參考: 1. 可考慮換裝高轉速的磁碟,若是可能的話可以考慮換裝 S-ATA 規格的介面及磁碟機。 2. 如果您電腦安裝的記憶體夠大的話,也可以考慮使用 RAM-Disk,以記憶體來虛擬一部磁碟機,當寫入到虛擬磁碟上的檔案到達一定數量時,再將虛擬磁碟上的檔案一次性寫入實體磁碟上,並清空虛擬磁碟機上的資料,騰出空間供後續的寫入動作使用。 3. 試著使用多執行緒 (Thread) 來處理存檔動作,如果速度仍舊跟不上的話 (如果能配合 RAM-Disk 一起運作,速度應該不會差太多),就將欲儲存的檔案丟入佇列中,排隊依序儲存。 以上方式是綜合以前的經驗所寫的,我並未針對您的狀況實做過,您得再做進一步的評估及測試,以確保採取方式能達到您的需求。
系統時間:2024-04-28 19:59:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!