日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > [置頂] C# 協程 WaitForSeconds產生GC(Garbage Collection)問題

[置頂] C# 協程 WaitForSeconds產生GC(Garbage Collection)問題

來源:程序員人生   發布時間:2015-04-15 09:08:00 閱讀次數:3132次

孫廣東   2015.4.9   24:00

先來看看使用協程的作用1共有兩點:
    1)延時(等待)1段時間履行代碼;
    2)等某個操作完成以后再履行后面的代碼。總結起來就是1句話:控制代碼在特定的時機履行。
協程不是線程,也不是異步履行的。協程和 MonoBehaviour 的 Update函數1樣也是在MainThread中履行的。使用協程你不用斟酌同步和鎖的問題。


對使用協程帶來GC問題,不推薦使用了!。

使用我之前封裝的  游戲簡單控制邏輯Clock類     可以完善解決

IEnumerator myAwesomeCoroutine() { while (true) { doAwesomeStuff(); yield return new WaitForSeconds(waitTime); } }


我想要指出的是使用 "yield return new WaitForSeconds()" 將會每幀致使垃圾分配GC,21個字節,由于"new" 部份(相對標準的協程 "yield return null"只產生 9 個字節)。

若要避免此問題,只是提早設置你的wait 等待的時間......

WaitForSeconds shortWait = new WaitForSeconds(0.1f); WaitForSeconds longWait = new WaitForSeconds(5.0f); IEnumerator myEvenAwesomerCoroutine() { while (true) { if (iNeedToDoStuffFast) { doAwesomeStuffReallyFast(); yield return shortWait; } else{ dontDoMuch(); yield return longWait; } } }


現在你coroutine 協程每次調用只會引發最低 的9 字節 GC 分配 (不包括其他分配allocations,固然你可能通過您其他的代碼會致使 !)。


避免GC而做的事情的列表可能比較長。
- 不要使用Invoke或 StartCoroutine 的字符串。

- 不要使用GUILayout 和標記您的 GUI MonoBehaviour來避免每幀 800bytes的GC產生。 http://docs.unity3d.com/ScriptReference/MonoBehaviour-useGUILayout.html

- 不要使用 GameObject.Tag 或 GameObject.Name

- 不要在Update中使用GetComponent ,如果可能的話將其緩存


- 不要使用 foreach

 -  不要使用string +  ----》 StringBuild 或 string.Format()



??
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品国产a| 99精品久久99久久久久 | 国产精品成人一区二区三区夜夜夜 | 日韩欧美一区在线 | av免费不卡| a视频在线观看免费 | 日本一二三区视频 | 久久精品国产精品青草 | 成人免费视频一区二区 | av2014天堂网 | 精品成人一区二区 | 天天影院色 | 国产精品免费看 | 国产精品久久久久婷婷二区次 | 国产精品传媒麻豆hd | 国产成人视屏 | 一二三四区在线观看 | 日韩欧美影院 | 成人免费在线观看 | 国产影视| 国产精品免费在线 | 91精品国产欧美一区二区 | 亚洲午夜在线视频 | 天堂v网| 在线三区 | 国产日韩中文字幕 | 欧美精品福利在线 | 成人一二三区 | 成人亚洲一区 | 久久久电影 | 九九九九九九九伊人 | 亚洲区一区二 | 成人作爱视频 | 一级视频片 | 久久99色| 一级黄色大片在线观看 | 日韩精品激情 | 国产成人精品一区二区三区在线 | 国产一区在线免费观看 | 欧美日韩一区二区三区 | 精品一二区 |