none
VS2005越跑越慢問題 RRS feed

  • 問題

  • 請問先進們是否也發生有這樣的問題。

    我的環境是:

    1.Notebook:Dothon 1.7G RAM 1.25GB,XP SP2、VS2005(使用VB.NET)

    2.PC:P4 2.6G RAM 1GB,Windows 2003,SQL 2005

    問題是:

    1.開發程式時越跑越慢,在設計階段時修改某個控制項的Name平均需要20秒才能完成(尤其在設計畫面時),寫個程式不斷的等待,開發程式的效率變的奇差無比。

    PS.我使用了一個Dataset裡面約有104個Datatable,在Windows Form裡用拖拉方式產生DataAdapter及BingingSource來使用,有些Form會有10幾組DataAdapter及BingingSource。

    2.以設計工具編輯Dataset時也變很慢而CPU狂飆,畫面變遲鈍甚至不動。

    請問是硬體不足呢?還是我的程式寫法有問題?敬請指教~

    2006年11月26日 上午 05:31

解答

  • 這問題是出在DataSet裡面,因為有104個table,每次只要去打開這個DataSet,就會自動去檢查目前這個DataSet內的各個Table連線情況,所以整個工具都會慢下來,甚至出現錯誤(這也是之前專案這樣做的切身之痛)。

    後來的改善方法是把每個畫面所使用的DataSet分開(A畫面有一個專屬的DataSet),這樣可能會有資源浪費的情況(可能是同一個Table在A、B畫面各有,照道理講應該只要有一個就好),但是維護起來比較好維護,還有可以改善程式開發效率。

     

    以上意見提供您參考。

    2006年11月26日 上午 08:48
    版主

所有回覆

  • 這問題是出在DataSet裡面,因為有104個table,每次只要去打開這個DataSet,就會自動去檢查目前這個DataSet內的各個Table連線情況,所以整個工具都會慢下來,甚至出現錯誤(這也是之前專案這樣做的切身之痛)。

    後來的改善方法是把每個畫面所使用的DataSet分開(A畫面有一個專屬的DataSet),這樣可能會有資源浪費的情況(可能是同一個Table在A、B畫面各有,照道理講應該只要有一個就好),但是維護起來比較好維護,還有可以改善程式開發效率。

     

    以上意見提供您參考。

    2006年11月26日 上午 08:48
    版主
  • 謝謝您的回覆,因為我到處去問都遇不到跟我有相同問題的人,令我相當疑惑,聽您這樣說,我推想這是非常有可能的,我原本也是想像您所說的的方式來做看看,但不知道是不是能真正的解決且此專案的時間不容我再重新修改,如今得到您的經驗肯定了這個方法,真的是太感謝了~

    另外,您說的可能會有資源的浪費是指什麼呢?會有什麼影響嗎?可能會是編譯後的EXE檔比較大?或是說在RUN TIME時會吃較多的記憶體嗎?不過我想這些影響都比目前的情形還輕,應該可以接受,您說是嗎?

     

    2006年11月26日 下午 12:31
  • 我這裡指的資源浪費是說本來只需要一個table,但是分成兩個畫面就會變成兩個,三個畫面就三個,以此類推,至於您說的run-time或編譯的影響,我想應該是沒有影響。(祝您開發順利)
    2006年11月26日 下午 12:50
    版主
  • 嗯,了解~

    謝謝~也祝您順利~

    2006年11月26日 下午 05:24
  • 我遇到的情形是

    有時候VS 2005會吃掉100%的CPU,可是我什麼事都沒做,

    不知道是什麼所造成的??

    2006年11月27日 上午 10:20