一週前,我的教授談論垃圾收集及其響應能力。基本上他說,如果你使用垃圾收集,你將永遠有一個非常小的延遲纔會執行代碼。Garabage collection - Responsiveness
現在你可以說用戶不會識別延遲,因爲它很小。
我正在爲我的最終單身漢考試開發一款遊戲引擎,目前我正在決定選擇哪種腳本語言作爲我的引擎。
現在我有以下情況。 可以說你用第一人稱相機創建了一個遊戲。我們還要說,gamelogic是用垃圾收集語言編寫的。
難道這並不意味着用戶會遇到更多的輸入滯後,而不是玩一個遊戲,其中gamelogic是用沒有垃圾回收的語言編寫的?
現在輸入滯後很難預測,因爲有太多的系統會產生延遲。
例如input -> gamecode executing -> graphics rendering -> rendering on the screen
。
是否大致可預測我會得到多少延遲如果我使用gc vs沒有gc的語言的語言?<1ms, <10ms <100ms
哇,這是一個加載的人。我想爲你的目的說,GCing不會產生巨大的影響。即使你使用了像C這樣的語言,當你「免費」時,你的程序仍然需要花費時間來釋放內存。它不像任何語言的瞬時。「 – thatidiotguy
擴展到thatidiotguys的答案,它也取決於該語言使用的GC方案。例如,引用計數往往比標記和掃描(粗糙的說)更快。 – StoryTeller
」你在執行代碼之前總會有一個非常小的延遲「可能他把GC和JIT編譯混淆了...... –