新的《Skyrim》PC 補丁使遊戲需要 Steam,從而取消了允許遊戲訪問超過 2GB RAM 的第三方修復程序。已發布適用於該更新的新修復程式。
上古卷軸 V:天際昨天收到了 PC 補丁,但顯然該補丁帶來了意想不到的後果。該補丁要求 Steam 運行,這會帶來不幸的副作用,即停用第三方解決方案以達到相對較低的 RAM 限制。
石頭紙霰彈槍指出,允許遊戲存取超過 2GB RAM 的第三方修復程式會帶來很大的不同。也就是說,它允許用戶在其之上運行更多的模組,這會對視覺效果產生很大的影響,正如所指出的由 Xav 和 Shacknews 社群提供。一個新的解決方法修復了 RAM 問題而不影響新補丁,但 RPS 對 Bethesda 本身是否會正式提高 RAM 限制持懷疑態度。
作為報道昨天,主機補丁正在進行認證,計劃在感恩節後的一周內發布。這些補丁預計將解決 Xbox 360 上的安裝問題以及 PS3 上的延遲/幀率問題。
他們並不是故意限制 RAM。 Skyrim 可執行檔是一個 32 位元程序,這意味著它最多只能尋址 2GB RAM。如果出於某種原因嘗試分配超過 2GB 的 RAM(這種情況偶爾會發生),遊戲就會悄悄地崩潰。舊的可執行檔沒有以任何方式加密,因此有人發現它可以輕鬆被駭客攻擊,使其能夠識別大位址,從而支援超過 2GB 的 RAM。修復了崩潰問題,並且可以支援更出色的效果。
昨晚的補丁對可執行檔進行了加密,因此需要 Steam 才能運行,但這也破壞了現有的大型位址感知駭客攻擊。所以現在人們創造了新的駭客。
除了 32 位元可以尋址最大 4GB 而不是 2GB
理論上,32 位元可以尋址 4GB 記憶體。實際上,如果沒有啟用大位址識別標誌,32 位元 Windows 執行檔的大小將被限制為每個 2GB。
除非在連結器選項中設定了 laa 標誌,否則它是 2gb。 laa 標誌允許將負整數值用作指標值。
這歸咎於遺留代碼和許多不良實踐。
如果您在 64 位元作業系統上執行 Skyrim,則沒有理由不啟用 LAA 標誌。 Skyrim 與之互動的作業系統上的驅動程式將知道如何處理 >2GB 的位址,而 Skyrim 自己的程式碼應該能夠處理相同的問題。
在 Windows 7 64 上執行的顯示卡和聲音驅動程式必須接受 >2GB 的位址。
如果《Skyrim》自己的程式碼或中間件的指標運算不正確,或者在地址的 MSB 中填充某些內容,那麼這就是糟糕的開發。顯然,啟用 LAA 後《Skyrim》崩潰的頻率會降低,因此使用者程式碼似乎可以很好地處理 >2GB 的指標。
... 好的?遺留程式碼是個混蛋,在 64 位元成為主流之前,laa 充其量只是一個創可貼。你無法真正控制十五年前老派的 C 程式設計師所做的事情,當時 1 GB 的記憶體還只是一個白日夢。
學術理想主義是偉大的,但並不能映射到現實世界的限制。 LLA 只影響一小部分客戶群,如果它被排除在外也就不足為奇了。
在 C 語言中,將負值放入返回的指標中並不是一種不常見的做法。由於溢出等原因,指針算術也容易與 laa 發生衝突。
是的,啟用它是一個簡單的編譯器標誌。確保它不會在您的軟體中引入其他錯誤是一項更大的工作。
我最初回复的帖子聲稱沒有理由不啟用它。他的理由是他們的程式碼庫應該是健壯的——這是一個理想主義的立場。
不啟用 laa 有非常正當且真實的原因,但是,是的,我明白這個網站上的運作方式。
《天際》沒有理由避免它。司機不再是理由。 2011 年跨主機遊戲的哪些部分使用了他們無法找到和修復的古老 C 代碼?很少。
我認為他們應該這樣做,因為《天際》的 PC 版本已經有一個用於調整和作弊的開發者控制台。過去,Crytek 為 Crysis 所做的就是這樣:他們發布了 32 位元和 64 位元可執行檔。 Steam 本身也支援一款遊戲的多個加密遊戲可執行檔(MW2、MW3、黑色行動等)。
他們不知道遊戲機用戶會因為 PC 遊戲玩家可以將《天際》在 PC 上變成他們永遠不會擁有的東西而感到惱火。
這是我唯一能想到的事情,但這毫無意義……他們會一起刪除模組,但隨後就會發生一場狗屎風暴,所以也許這是唯一的方法。
我真的不知道它搞砸了。
什麼秘密上面說的就是我覺得是怎麼回事。不過,新補丁已經提供了更多 RAM 的新修復。
如果他們想操縱社區,他們會使用 IdTech 5。
我認為貝塞斯達這樣做的原因是為了強制區域鎖定。從所在地區(俄羅斯)以外購買金鑰的人必須透過 VPN 啟動才能解密。從那時起,他們必須從 TES V.exe 運行遊戲,基本上繞過了 Steam 的區域鎖定。
即使沒有改進的視覺效果,我也需要提高 RAM 限制以使遊戲穩定。如果沒有它,遊戲經常會默默地崩潰到桌面。
我真的希望 Bethesda 能夠自己實現對更大記憶體空間的支持,或者更好的是,發布真正的 64 位元可執行檔。
他們應該做的是發布一個包含兩個可執行檔和一個新啟動器的更新。
一種可執行檔可以識別大位址,而另一種則不能。啟動器檢查它是否在 64 位元作業系統上運行。如果是,它將運行大地址感知可執行檔。如果它在 32 位元作業系統上運行,它將運行非 LAA 可執行檔。每個人都贏了!我希望所有 PC 遊戲都附帶 64 位元可執行檔。
你必須問自己,為什麼我們在遊戲中看不到更多 64 位元 exe?
現在使用 64 位元沒有任何好處嗎?
我知道「控制台」的笑話很普遍,但說真的,控制台比最新的 PC 硬體/軟體落後了很多年,所以在為控制台開發時,你不是嗎?有為 32 位元系統編寫程式碼,因為控制台基本上都是小型電腦?
也許在 Microsoft 僅發布 64 位元 WIndows 後我們就會看到它。即便如此,也還需要一段時間。仍然會有人運行 32 位元 WIndows,明智的商業舉措是嘗試迎合大多數人的需求。
啊。所以整個“一切都是控制台端口”基本上是……真的嗎? :(
嗯……差不多……你可以想如果不是這樣的話會怎麼樣。
如果在 PC 硬體上運行相同的程式碼庫(幾乎)可以讓遊戲變得更好,你可以想像經過大量努力後遊戲會是什麼樣子。
考慮到它們的年齡和硬件,在沒有從控制台上拿走任何東西的情況下,它們所取得的成就令人驚嘆。
並不是我在抱怨,只是有時我想知道真正可以做什麼,我認為這會很棒。
並不真地。問題是所有的控制台都是 32 位元的。 PC 上的每個人都支援 32 位元。添加對 64 位元 PC 用戶的支援實際上就像添加另一個平台(儘管希望只是為了 QA)。
但可能會有一些奇怪的錯誤,只有當您使用 64 位元資料大小運行時才會暴露出來,等等。因此,僅刪除 64 位元可執行檔並不是「沒有作用」。
同時,如果遊戲機都是 64 位元的,我想開發人員只會說「操,32 位元 PC 只佔 PC 用戶的 40%,而這又只占我整個市場的一小部分,我就將它們刪除並僅發布64 位元。
有趣的。維基百科有資訊表明它們是這樣的,但沒有來源支持它。如果它們是 64 位,那將是相當令人驚訝的(儘管並非不可能),因為 360 沒有足夠的 ram 讓您需要 64 位來訪問所有存儲區域(儘管您確實需要 64 位來訪問所有數據)在DVD 光碟機上)。
64 位元應用程式比 32 位元應用程式大得多,因為可執行檔中到處都儲存著指標。 (例如,考慮來自 nvidia.com 的驅動程式 - 對於任何特定版本和作業系統,32 位元驅動程式都比 64 位元驅動程式小得多)。
> 指標儲存在執行檔中的各處
我認為指標不會佔用應用程式記憶體佔用的很大一部分(與為遊戲儲存的其他資料相比)。我無法想像它會超過幾MB。>來自 nvidia.com 的驅動程式 - 對於任何特定版本和作業系統,32 位元驅動程式都比 64 位元驅動程式小得多
這是因為 64b 軟體包包含 64b *和* 32b 驅動程式(此外 64b 驅動程式稍大)。如果您查看驅動程式尺寸(x 為 64b),尺寸並不會非常不成比例nvd3dum.dll 為 12,341KB
nvd3dumx.dll 為 14,712KBnvwgf2um.dll 為 6,459KB
nvwgf2umx.dll 為 8,161KB我幾乎不會認為~20% 的開銷不算什麼。在遊戲機上,這就很多了。
話雖這麼說,我同意可執行檔案大小與總記憶體大小(主要由紋理和 VB 主導)相比在很大程度上無關緊要。然而,可執行檔的大小與效能非常相關。
PS3 CPU 也是 64 位元。當他們過去支援 64 位元 Linux 核心時,您需要安裝 64 位元 Linux 核心。該平台甚至不支援 32 位元核心。
我幾乎可以肯定 PS3 開發套件也是 64 位,而 PS3 和 Xbox 360 的開發環境實際上都是 64 位元。兩個系統中的 CPU 也都具有全套 64 位元暫存器。
原因有兩個:一是控制台,但更重要的一個是並不是每個人都運行 64 位元。
為什麼我無法理解,因為只能運行 32 位的 CPU 在 2004 年末左右就停產了,但這會限制可以玩的人數,而且從 64 位開始也需要更多的資源來玩由於內存訪問方式的差異,可執行檔比32 位元可執行檔多使用約10-15% 的資源。
並非所有 64 位元軟體都像 32 位元軟體一樣功能齊全。
我記得在某處讀過,如果您安裝 64 位元 MS Office,您將遇到共用點問題。
我相信sharepoint 2010也只有64位O_o
從 2008R2 開始的所有 Windows Server 版本都僅限 64 位元。讓我工作起來很開心。
伺服器環境中的 64 位元尋址更為可取,因為許多服務最終可能會使用超過 2 GB 的 RAM,或強調 32 位元核心限制(我親眼目睹過)。就遊戲而言,真正重要的只是是否使用了超過 2 GB 的記憶體。對於大多數遊戲來說,我們還沒有做到這一點,主要來自目標小於512 MB 的多平台遊戲,或者來自64 位元安裝的「小用戶群」(由於Windows 7 非常穩定,該用戶群正在變得越來越大)。
令人遺憾的是,微軟並沒有像推動 64 位元伺服器應用程式開發那樣大力推廣 64 位元遊戲。我們已經超過了 2 GB 視訊 RAM 的界限,但沒有動力將這麼多用於紋理以及遊戲資產內存空間。
一款需要 64 位元、DX11、四核心、1GB VRAM、6GB RAM 的可靠編碼遊戲會是什麼樣子?
我覺得有趣的是,一款遊戲是如何在沒有任何控制台限制的情況下製作的,而是為 SB 遊戲設備製作的,作為基準運行。完全圍繞四核心架構,並產生線程、大量 RAM、VRAM 和 DX11。我們能否以穩定的 120 最低 fps 和 4 倍全螢幕超級取樣來製作 Crysis Ultra/modded?
實際上,由於快取未命中次數增加(因為指標佔用了兩倍的快取記憶體),64 位元 exe 的運行速度要慢一些。另外,還有一個事實是,很大一部分市場仍然沒有從 Win32 升級,而另一大部分市場購買了 32 位元版本的 Vista/7,因此您必須支援最低公分母。
同時支援 32 位元和 64 位元 exe 在技術上是可行的,但很難證明其合理性,因為必須完成大量程式碼工作,並且會增加您的測試負擔
我認為轉換到 64 位元時的效能或多或少會受到影響,因為您可以存取 CPU 上更通用的暫存器。
另一個問題是,如果 3rd 方庫沒有 64 位元版本……他們可能不想花時間在 64 位元版本上。
天哪,他們甚至不會打開 LAA 標誌,為什麼他們要為 64 位元版本煩惱呢?
啟用 LAA 相當簡單——它只是一個編譯標誌。
問題是需要進行大量的回歸測試來確保它不會破壞任何東西,或者確保他們的所有程式碼和中間件沒有做一些糟糕但常見的事情(你知道,對於速度!如果《天際》的引擎是大規模的檢修,他們真的應該從一開始就把這個當作一個目標。
至少在 64 位元系統上,該引擎似乎對 LAA hack 確實很可靠。比沒有更穩定,比《湮滅》更穩定。這讓我想知道他們是否確實完成了大部分工作,但沒有打開開關。
昨晚有人說,由於愚蠢的驅動程式等原因,啟用 LAA 標誌可能會在 32 位元系統上導致問題,所以也許這就是它不啟用的原因。
我不記得《湮沒》曾經崩潰過,而《天際》每天都至少崩潰兩次(即時 CTD)。我確實記得音頻編解碼器弄亂了《Oblivion》,但如果沒有它們,它在發佈時是穩定的。
即時 CTD 可能是可執行檔無法辨識大位址的症狀。我敢打賭,如果你使用 LAA hack,它們就會消失。
即使我解決了奇怪的編解碼器問題,我也遇到了更多關於《遺忘》崩潰的問題。
我不認為這是他們聲稱的大規模改革。從圖形上看,它確實看起來更好,但 FO3/Oblivion 的所有潛在怪癖仍然存在,修復也同樣存在。
如果我在 64 位元作業系統上總共只有 4GB RAM,那麼使用此修復是一個壞主意嗎?
哦,沒關係,我使用 ini 修復將其從 500-600 增加到約 1.6 GB,不超過 2GB
有人遇到鷹眼不起作用的問題嗎?我無法讓它縮放。我交換了左/右滑鼠按鈕,認為這就是問題所在,但將它們切換回去似乎沒有幫助。
沒有。請記住,它會消耗耐力,所以這可能是你的問題。
在此補丁之後還有其他人注意到一些嚴重的效能問題嗎?我從未啟用過 LAA,但在這個補丁之後我得到了
在我獲得 20-30 fps 的區域中,速度低於 10 fps。
各位,不是在這裡吐槽,只是一個想法:
閱讀有關需要安裝的內容、可以做什麼或不能做什麼、可以嘗試停用或啟用什麼、或安裝解決方法等……只是讓我頭痛。我意識到這些遊戲機在性能和圖形方面提供的體驗較差,但是天啊……閱讀這篇文章確實讓我可以輕鬆地繼續在 360 上玩遊戲,而不必擔心任何問題。這幾乎就像我願意放棄我的電腦提供的卓越性能(包括模組),只是因為我更容易打開我的 360 並在較低的 720P 解析度、較低的幀率和繪圖中享受遊戲距離和較低解析度的紋理榮耀。遊戲本身就有足夠的技術問題,我當然不想擔心其他事情。