我正在使用MonoGame,但這與winrt async和IO更相關,所以請不要重定向到gamedev。IO操作與Task.Run
我想異步加載遊戲內容,以便我可以更新加載屏幕的進度。我將每個ContentManager.Load調用放置在一個Task中,然後放入我的BeginLoading方法中,我只是遍歷所有任務並一次啓動它們。
這似乎從我的測試到目前爲止,但我的問題是這是否縮放。
如果我爲async添加100個資產,這將分離出100個將同時從磁盤al讀取的任務。 WinRT的規模是那樣嗎?
事實上,我是否應該將任務的數量限制在覈心數/物理踏步數?或者我應該只有一個活動的任務?
爲什麼不只有一個加載所有內容的任務? – craftworkgames
我根據完成的任務數更新加載進度(加載的百分比)。 根據Content.Load調用創建任務也更容易。除非有人有更好的建議。 – RecursiveCall