為什麼感覺一臺計算機能花幾分鐘運行幾行代碼,卻能如此快速地運行復雜的東西,比如遊戲?

韓貞禹


首先,這個需要看代碼的底層處理量,代碼崗書並不能代表他做的事情數量,例如你用了這個循環每次打印數字加一,並輸出出來,循環上限1000萬次。代碼估計不超過5號,但計算機打印完,至少幾分鐘了,原因是打印過程很慢,涉及到io。又或者你的代碼基本在底層執行,你只是寫了2行代碼,但時間這兩行代碼需要做大量的計算才能完成,類似於Python ,其很多庫對大量操作進行了封裝,讓使用者方便使用,但內部操作複雜。

而遊戲運行是以幀來計算的,每一幀的處理量並不大,首先顯卡專門負責圖形渲染,cpu主要負責實時計算,每幀的計算量都在內存中運算,且計算量並沒有太大,主要是顯卡渲染的計算量大。

其次看使用的算法,好的算法可以大幅度降低運算時間,算法的好壞也是主要原因之一。

最後看使用的開發語言,越是高級的語言,運行速度越慢。


編程自學分享


因為幾行代碼(C/C++)需要經過預處理,編譯,彙編,鏈接的過程,變成一個可執行程序,才能運行。


分享到:


相關文章: