大量的資料如何用Chart畫出來 |
答題得分者是:harpist
|
dueseven
一般會員 發表:5 回覆:9 積分:7 註冊:2007-05-18 發送簡訊給我 |
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
|
dueseven
一般會員 發表:5 回覆:9 積分:7 註冊:2007-05-18 發送簡訊給我 |
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
這其實牽涉到你需求的問題,先將需求定義出來
1.觀察長期的變化(長期最大的時間範圍是多少2天?) 2.精準度老闆傾向全部的點都畫出來(0.1Hz?) 3.最大資料量是864000*2 解決這個需求的方案是TChar ?如果TChar 無法滿足是否考慮其他? 或自己寫?又是另一個方案了。 其實你要放多少資料就要多少記憶體 如果要減少記憶體的使用唯一的方法就是減少資料。 如果記憶體不夠用那就是增加可用的記憶體。 另外TChar 我使用的經驗當大筆資料畫上去後一段時間反應會變的很慢, 所以我通常會在顯示趨勢圖的視窗加一個偵測使用者動作,如果使用者有 一段時間沒反應我就會釋放掉。 最後我在想你是否是Chart 一直開著然後一直新增資料上去呢? 建議資料先存起來需要觀看時再建立Chart,否則可能會有我上述的情況。
------
~§~迷時師渡,悟了自渡~§~ |
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
這是一個自我矛盾,且不實際的問題
請問如果再真實世界,你會需要多大的紙? 我想 A0 也不夠你用,你會需要一片牆,而且是很長的牆 更不用說,真實世界的解析度,比電腦高多了 所以你只能 1. 顯示特定範圍 2. 顯示大範圍時,必需減少取樣間隔,如果怕失真過多,自己寫個演算法來取特定必需數值 目前的科技硬體技術,只有這兩種方法可以用 如果你找到,將所有點畫出,同時看得清楚,隨意 room in/out 的無失真處理方式(不失精度),我想,那你就出名了 建議你,暗示你的老闆,這個問題「有不切實際」的問題 |
system72
中階會員 發表:15 回覆:114 積分:55 註冊:2005-08-17 發送簡訊給我 |
===================引 用 dueseven 文 章================== >若是考慮0.1Hz的訊號,則一天的資料就有864000筆,這麼多的資料畫在Chart上,光是記憶體就吃掉了40~50MB, >若是畫個二天的資料,就Out of Memory 了,請問各位大大,有什麼樣的方法,可以解決大量資料的畫圖問題呢? 所以需動態配置約 80-100MB 的記憶體, 不知道你那台主機記憶體多少? OS是? 如果是 256mb , 那加Ram 看看. 如果是 win95/98,那換os看看. 如果是已經2000/xp, 512mb以上,那加Ram大概就沒用. 只是猜猜看. 也不是很確定.
編輯記錄
system72 重新編輯於 2007-05-31 08:53:41, 註解 無‧
|
dueseven
一般會員 發表:5 回覆:9 積分:7 註冊:2007-05-18 發送簡訊給我 |
|
harpist
資深會員 發表:3 回覆:251 積分:430 註冊:2002-10-03 發送簡訊給我 |
忽然想到 Out of Memory 的問題怎麼我都沒碰到過呢?
我使用的 TeeChart 版本是7.02,我之前在一個Chart裡的資料數 在設計初期未切割也不少於 864000*2 也未曾有 Out of Memory 的問題,推敲了一下也實際驗證了這個問題的發生原因。 因為我在畫的時候是動態產生series,這麼做的原因是我偵測的設備 數量很多,設備可能會有狀況如斷線,這時我要在Chart表現出斷線 跟恢復連線後中間空白,所以我在斷線後新的資料是再產生一個series 畫下去,而我想你大概是一個series一直新增資料進去所以造成了 Out of Memory 的問題,實際測試結果一個series最大的資料數是 583000 所以當你的資料超過583000時請新增一個新的series接下去畫
------
~§~迷時師渡,悟了自渡~§~ |
dueseven
一般會員 發表:5 回覆:9 積分:7 註冊:2007-05-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |