當前位置:編程學習大全網 - 源碼下載 - 穿越火線出現提示cf out of memory怎麽辦

穿越火線出現提示cf out of memory怎麽辦

WIN7經常有這個問題,XP系統也有。這個情況,我也遇到過,我是XP系統的。直接重新登遊戲就可以了。英文的含義是代表內存不足造成的,但真正的問題我想妳已經明白,系統無法再供給遊戲多余的內存空間使用,那麽4個G的內存到底去哪了?除了系統占有的內存,其實其它都讓CF給吞了。如果有3250m?的空氣,壹個氣泵壹直吸氣不排氣,妳說最後這空氣還夠用不?壹個遊戲只吃內存不釋放內存,妳說最後內存能不能有多余的再供給遊戲?遊戲不釋放內存的問題已經更新好幾個版本了。

下面是其他人寫的。妳可以試試。

壹個能夠解決OUT OF MEMORY的辦法:

out of memory

的意思是內存不足。

作為壹個有著些年頭WIN32 C++ 開發經驗的程序員我不同意WIN7

的預讀等等說法,因為我不認為系統的預讀會占用用戶地址空間,起碼來說,預讀功能是單獨的系統服務,獨立的進程。而系統的內存不足的話,windows肯定會有提示,不知道大家有沒有遇到過,右下角出現壹個*的小三角提示虛擬內存太小。

曾懷疑過是DN程序內存泄漏或者沒有考慮到內存空間導致申請的內存超出2GB,而導致此問題,但是每次出此BUG時我去觀察內存占用情況卻發現壹般都保持在1.5G。所以壹開始排除了這種可能,不過今天忽然想到壹點,就是內存映射文件,而DN的資源包最大恰好是0.5G。

因此極其有可能是這個原因。(內存映射方式打開文件雖然不會將整個文件加載到內存,但是會占用與文件大小相等的地址空間,而win32系統 進程的最大地址空間是4GB

其中默認用戶地址空間是2GB,也就是說做為程序員壹個進程最多也就2GB的地址空間而出現內存不足提示的時候DN進程的內存使用是1.5G加上0.5G的資源包地址空間大概已經達到2GB因此當再申請內存的時候就會失敗。)

說這些估計很難有人理解,那麽說壹下解決方案吧,(我沒DN的源碼沒辦法去修改他內部的BUG所以只能從其他地方想辦法了)以下是重點。

修改WINDOWS啟動配置,讓進程用戶地址空間達到3GB

windows

7系統:

1.進入命令行: 點擊開始菜單 -> 在搜索框中輸入 "cmd",按下 ctrl + shift +

回車(命令行的*員模式)

2.輸入命令:bcdedit /set increaseuserva 3072

回車

3.重啟系統.

xp系統:

1.去掉引導文件只讀等屬性:開始 -> 運行 輸入"attrib

c:\boot.ini -h -r -s" 回車

2.編輯引導文件:開始 -> 運行 輸入"c:\boot.ini"

回車,在類似“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP

Professional" /noexecute=optin /fastdetect” 這壹行最後加上“/3GB”

保存。

3.恢復引導文件只讀等屬性:開始 -> 運行 輸入"attrib c:\boot.ini +h +r +s"

回車

4.重啟系統.

( 提醒 XP系統編輯引導文件可以 直接 我的電腦 -> 屬性 -> 高級

-> 啟動和故障恢復 設置 -> 編輯 弄完別忘保存)

  • 上一篇:-1的原碼,補碼,反碼是什麽
  • 下一篇:求通信基本電路課程設計 也很急!!
  • copyright 2024編程學習大全網