最新貼圖[Sumtec]

來源:互聯網
上載者:User
呵呵,有點醜,沒辦法,俺不是美工……誰是美工請舉手!!

這個是調試視窗,上面那一塊的東西早就已經OK了,這次的重點是下面那一塊Trace,可以看到效果還是可以D。說實話這個Trace視窗給我調試思考調度契合動作調度器給了不少的協助——多線程加上同步確實比較難調,有時候會有莫名其妙的問題出現,等發現的時候斷點已經來不及了,運行之前設定斷點也不行(問題不會出現)。這時候就依賴於Trace視窗和臨時添加的一些MessageBox.Show這樣的代碼來完成調試。

簡單說明一下:裡面的Tank#... 表明思考調度器調度了Tank#0000001C進行思考,因為我在Tank的思考代碼裡面添加了一句frmDebug.Instance.Trace(...);,也就是顯示這些代碼的內容。
而另外的那個sleep = 100... 則是輸出遊戲主迴圈線程的睡眠情況。目前遊戲內容簡單,而且對象稀少,因此活動量非常的小,這個時候總不能夠讓CPU不停的迴圈吧,總得要保持一個基本的速度或者接拍吧。為了這個我沒有少費功夫,這行輸出就是為了進行這個調試的。
sleep = 100表示一共睡眠了100ms,實際上目前限定一次迴圈的節拍就是100ms,可見幾乎沒有任何運動量。不過不要以為這就是最初的結果,最初的結果相當的混亂。由於睡眠採用的單位是ms,而Ticks則是0.001ms,因此總是有問題(我沒有發現單位不一樣),要麼就是常睡不起,要麼就是節拍不固定。此外,一開始Trace的代碼本身沒有經過很好的最佳化,因此幾乎每一次迴圈都會佔用超過100ms。經過一次最佳化之後發現會越來越慢,因為跟蹤的資訊越來越大了,後來經過再一次調整,每一次迴圈消耗的時間終於縮小到20到30ms之間。最後我又對Trace進行了更新時間間隔控制(現在控制在每隔1秒鐘進行一次輸出),就得到了上面的結果——幾乎沒有任何消耗。

當然,這個Tracer的功能會日益完善的,我希望能夠超過Terrarium的那種跟蹤能力。不過現在也湊和,可以用,所以目前不打算進行功能完善的操作了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.