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

VFW CallBack越來越慢

答題得分者是:taishyang
namohsieh
一般會員


發表:6
回覆:7
積分:2
註冊:2010-06-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-07-04 19:51:14 IP:140.124.xxx.xxx 訂閱
我運用 VFW in BCB6
連續抓圖
我設定Timer 為50跑一次CallBack (50/1000)
CallBack拉下來進行一些簡單的影像處理畫在image上

一開始都滿順的
跑一段時間後 (10分鐘) 影像就不是那麼流暢,
想說是記憶體問題,但是觀察系統記憶體使用並沒有特別的變化
跑一個小時也沒有看到問題發生,只是效率不如一開始流暢
關掉再開 就又順了

不知道有無前輩有類似經驗,我應該是少做了什麼,或者多做了什麼
一般考慮是記憶體,但是觀察使用量並無特殊變化
CallBack用的變數也都是在CallBack中宣告,並且沒有運用指標類的變數,應該沒有Free的問題
有用到指標類都是宣告為全域變數,所以記憶體空間應該也不至於是問題

有猜測一個可能性,是否Timer 去CallBack太頻繁
導致一秒可能CallBack,20次,但是實際處理不完20次
導致累積的CallBack太多

是否有前輩可以提供相關經驗分享 謝謝







taishyang
站務副站長


發表:377
回覆:5486
積分:4552
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-07-05 11:10:45 IP:122.116.xxx.xxx 訂閱
callback是設定好後系統會自己去呼叫的,你不用去呼叫它
namohsieh
一般會員


發表:6
回覆:7
積分:2
註冊:2010-06-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-07-05 12:45:56 IP:140.124.xxx.xxx 訂閱
你好  

謝謝你的回答

但是我按下按鈕 執行
capSetCallbackOnFrame (FVideoCapWinH, &FrameCallBack);

我的畫面只做了一次,就不會動了

我必須用Timer
讓他一秒跑30次capSetCallbackOnFrame (FVideoCapWinH, &FrameCallBack);
才會看起來是連續的畫面

這樣的用法是不是我有誤解或者錯誤 謝謝你的指點


還是說我應該只跑一次capSetCallbackOnFrame (FVideoCapWinH, &FrameCallBack);
然後把連續處理寫在FrameCallBack() 裡面寫成while迴圈

編輯記錄
namohsieh 重新編輯於 2010-07-05 12:49:14, 註解 無‧
taishyang
站務副站長


發表:377
回覆:5486
積分:4552
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-07-05 14:36:39 IP:122.116.xxx.xxx 訂閱
capSetCallbackOnFrame (hCapWnd, NULL); //停止callbackonframe
namohsieh
一般會員


發表:6
回覆:7
積分:2
註冊:2010-06-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-07-05 14:44:47 IP:140.124.xxx.xxx 訂閱

===================引 用 taishyang 文 章===================
capSetCallbackOnFrame (hCapWnd, NULL); //停止callbackonframe

沒錯!!感謝你
雖然不知道是否能解決這個問題

但是我確實把Callback的用法 用錯了
我一再的設回NULL,然後再一直Call
感謝你的指點
namohsieh
一般會員


發表:6
回覆:7
積分:2
註冊:2010-06-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-07-05 18:12:12 IP:140.124.xxx.xxx 訂閱
跑了一個下午沒問題

確切就是這個原因了 感謝你!!
系統時間:2017-12-12 8:43:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!