回覆列表
  • 1 # 沐繁

    遊戲在某方面來說,可以是相當複雜的軟體。一個遊戲可能涉及許多系統/子系統共同運作,例如常見的有遊戲性、圖形、音訊、輸入、動畫、物理、人工智慧、資源管理、記憶體管理、數學庫等等。這些系統會彼此依賴,例如遊戲性系統想要知道玩家角色的頭部位置,需要從動畫系統取得,而動畫系統也要知道當時角色的動作狀態,這個狀態又依賴於遊戲邏輯。如果要用多核並行處理一些任務,需要考慮任務之間的依賴性。並行時需要任務之間不互相依賴。如果遊戲性本身需要並行,要考慮所有依賴性問題,然後用某種框架來編寫遊戲邏輯。另一解決方法之一,有時候會使用非同步方式去處理,例如在這一個時步做射線檢測,發起請求後,我們可能在下一個時步才獲取結果。缺點除了增加了延時,也會令程式變得複雜。

    大部分遊戲引擎可以透明地做一些並行最佳化,例如會把動畫、物理、渲染等子系統在獨立執行緒或分拆成多工去執行,令遊戲性(通常遊戲開發者要做的部分)的開發不需考慮並行問題。而一般來說,遊戲性部分也通常不是瓶頸(也許一些RTS型別等多遊戲物件的問題較大)。所謂具體問題具體解決,不同遊戲遇到「卡頓」、「幀率低」的不流暢體驗,需要看問題所在才能最佳化。例如「卡頓」有可能是一些同步I/O或GC做成的問題,需要針對性進行最佳化。「幀率低」比較常見是 GPU 的瓶頸,或是 draw-call 太多,都要用不同方法去緩解。如果問題不在 CPU,並行化並不會有什麼幫助。另外,如果問題在於記憶體頻寬不足或快取命中失敗,多核是解決不了問題的,反而有可能令整體效能更差。

    Windows 10 和遊戲中的多執行緒最佳化是沒什麼關係的。說一下 PC 遊戲的開發困難。相比遊戲機,PC的配置差異很大,核心數量不同,要最佳化到在不同配置下都有高 CPU 利用率會更困難。GPU就更不用說,高配和低配顯示卡效能可以相差兩個數量級。也有可能一些硬碟慢,串流速度趕不上,出現需要等待 I/O 的情況。相對來說,遊戲機的配置比較固定,最佳化目標清晰,所以一般也能表現得比同等配置的 PC 版好。

  • 2 # 遊影電報

    說到《三國志14》PC 端最佳化差,不得不提他的開發商光榮特庫摩。

    光榮特庫摩的前身是 1978 年成立的光榮株式會社,最早公司是專營染料買賣的,不過由於運營致使公司差點倒閉。到了 1980 年公司正式轉型成為遊戲軟體開發公司和電腦器材販賣。2008 年 TECMO 遇到危機,此時決定與光榮株式會社進行合併,也就有了現在的光榮特庫摩。

    以上是關於光榮特庫摩的簡單介紹,之所以介紹這些主要是想告訴大家,對於一個自遊戲軟體開發行業起家,並從業 40 年的老牌公司來說,讓遊戲在 PC 端最佳化的很好,不是一個最基本的事情嗎?!現在不論《三國志14》還是《真三國無雙8》等光旗下的遊戲,在 PC 端的最佳化都非常爛,只能說明一個問題:就是光榮對於 PC 端玩家的態度十分不友好,將更多的精力還是放置到了 PS 端,以及新遊的開發上。

    對於一個擁有 40 年遊戲軟體開發的公司,你和我說遊戲最佳化對於其他公司來說是一件困難的事情,但是對於光榮特庫摩來說絕對不是一件難事。無非就是多多的在各種不同型別的主機板和顯示卡之間進行重複的適配!

    說光榮特庫摩做《三國志14》的最佳化很難?那還真是對得起他那張 40 年的遊戲公司招牌!

  • 中秋節和大豐收的關聯?
  • DNF玩家1400買到桐人號,一身紅10,有超界防具,想問值不值,你認為呢?