板载显示核心划分的内存!

话说32bit的Win7不能使用4G的内存(识别出4G,只能使用3.25G),这让我心里很不爽,恰好机器用的是集成的显卡,不知道如果把剩余的这些内存全部划分给板载显卡的显示核心,那么4G内存不就全部使用到了么?

于是切换到BIOS中,发现最大可以划分512MB的内存给显示核心使用。好吧,就选择最大,保存启动windows.进入系统后发现和以前没有任何的区别,但是这个划分给显示核心的内存是不是属于windows 7可以使用的3.25G内存的范围内呢?于是做了个实验。

写了一个死循环的东西,不断的像系统申请内存,同时通过任务管理查看内存的使用情况。代码如下。

1
2
3
4
5
6
7
8
9
10
11
int main()
{
	CLinks<double> link;
	while(true)
	{
		link.add(2.22222);
	}
 
	system("pause") ;
	return 0 ;
}

结果很让人伤心,在任务管理中内存使用到2.83G左右的时候,出现错误了。无法申请更多的内存空间,观察数据:2.83G+512MB = 3.25G左右

最后得出结论(可能不正确):悲剧的32 bit windows 7识别出的那3.25G内存,如果显卡要从内存中划分显存的话,那么,操作系统能使用的内存会更少。

“板载显示核心划分的内存!”   3 comments

你试一下可否把显存从内存高端分配。
avatar
avatar
@天缘博客
开始我也这么想的
结果BIOS中没有这选项~~
32位系统不都是只能3.25G
比如2003就能全部识别,这个可以破解的
avatar

Leave a comment:

XHTML: You can use these tags: <a href="" title=""> <b> <blockquote cite=""> <em> <i> <strong> <p> <br><br />