2009-12-03 91 views
0

所以我有一個安裝程序,其中兩個imacs,imac_1和imac_2,通過火線連接。 imac_1發送一些調試信息到imac_2和imac_2我有一個程序在C++中捕獲調試信息(參見下圖)寫入GUI問題

現在的問題是,如果我直接用GUI編寫調試信息(使用QT創建)它的速度非常緩慢,我的意思是GUI需要時間來加載數據。所以我所做的是將調試信息寫入緩衝區,然後將該緩衝區轉儲到GUI中,但由於GUI需要時間來加載數據,所以速度也很慢。

我正在考慮將調試信息寫入文件,然後將其加載到gui中。所以我會加載第一個10,000行到gui,然後當用戶向下滾動時,我會加載下一個10,000行。

imac_1(發射機)--->火線(介質) - > imac_2(接收機)

任何意見或建議????

我使用: 的Mac OS X, 的XCode, 的iMac

+0

沒有相當多的信息,我甚至不能想象一個滿意的答案。你有什麼想法爲什麼GUI很慢?如果以兩種方式處理數據的速度很慢,那麼第三種情況可能不會更快。 – 2009-12-03 20:36:35

+0

我認爲gui速度慢的原因是因爲gui的開銷。我認爲我沒有很好地解釋我的問題,但你們還有什麼想知道的。 謝謝。 – infinitloop 2009-12-03 20:59:48

回答

1

這聽起來像你的問題無關,與兩個計算機通信,而是可以是你的GUI應用程序。

我建議你嘗試你提到的文件方法,如果只是爲了從討論中分離網絡組件。然後努力使您的GUI更快。

如果您一次添加一行文本,這可能會導致一些緩慢,但是10,000行並不是那麼多。

其他方法可能包括在加載文本文件時關閉重繪或類似的功能。

+0

++在加載時關閉重新繪製是其他上下文中的重大勝利。您不希望它在每條10k線路上都經歷整個無效/塗漆循環。 – 2009-12-04 02:05:18

+0

我做了一些寫入文件與GUI的圖形,似乎寫入文件更快。 但現在問題是什麼時候gui應該在啓動程序後開始從文件中加載數據。因爲文件不會在程序啓動後立即更新。 謝謝 – infinitloop 2009-12-04 16:06:53

+0

我想從主線程開始一個線程,負責gui的東西,比如創建和加載數據。 – infinitloop 2009-12-17 16:53:15