Performance
為什麼視窗模式在遊戲中總是變慢?
當我在 Windows 或 Linux 中以視窗模式執行遊戲時,我的幀速率似乎總是開始分塊。
這是一個普遍的問題,我使用的機器不夠出色,還是只是現代遊戲引擎的設計方式?
我將假設您以與全屏相同的視窗解析度執行(即,如果您在 800x600 視窗中執行它,您將與 800x600 全屏進行比較),因為這意味著遊戲必須在無論哪種情況。如果您以更高的解析度執行全屏,那麼似乎還有其他事情發生。
在視窗模式下,您的電腦必須繪製的不僅僅是遊戲本身:您的桌面和其他視窗也是可見的,而且還必須花費時間來繪製它們。
但是,還有另一個更微妙的差異,您的遊戲可能會或可能不會使用它 - 這在前幾年有些普遍,但我不確定遊戲公司是否仍在使用它。
你看,你在螢幕上看到的圖像只不過是一排連續的像素集合。也就是說,每行像素之間沒有儲存任何內容:它只是一大塊記憶體。
在全屏模式下,遊戲可以將它的圖像放在那塊記憶體中;當一行結束時,下一行開始,因此您可以一次性複制整個渲染緩衝區。在視窗模式下,這不再起作用:您現在必須單獨複製每一行,因為您的視窗左側和右側都有不允許覆蓋的內容。
如果您的硬體足夠快,那麼差異應該不會很明顯,因為儘管它需要做更多的工作,但實際上並沒有那麼多工作 - 只要您沒有在同時 - 如果您能夠在全屏模式下獲得完整的 X FPS(其中 X 是您的顯示器刷新率),您很可能還可以獲得更多的 FPS,以及本來可以用於的計算能力那些額外的 FPS,可以轉而轉到視窗模式下發生的所有其他事情。