哈哈,樓主要這么糾結(jié)這個(gè)問題,我特地去百度了下,結(jié)果發(fā)現(xiàn)這問題本身就不成立啊!為啥,聽我說:
內(nèi)存和顯存壓根干的活就不一樣。內(nèi)存嘛,就是CPU用來(lái)緩存硬盤數(shù)據(jù)的,這個(gè)大家都知道。但顯存不同,它不光要存原始圖像數(shù)據(jù),還得存GPU處理完的數(shù)據(jù),之后RAMDAC(就是數(shù)模轉(zhuǎn)換器)從顯存里讀數(shù)據(jù),把數(shù)字信號(hào)轉(zhuǎn)成模擬信號(hào),最后屏幕才能顯示出來(lái)。
再說說樓主的問題:
1. 顯存的數(shù)據(jù)不一定都從內(nèi)存復(fù)制來(lái)的啊!你既然學(xué)編程,肯定知道指針吧?很多時(shí)候,內(nèi)存里可能只存了個(gè)指向硬盤地址的指針。然后CPU把這個(gè)地址告訴GPU,GPU自己根據(jù)地址把數(shù)據(jù)調(diào)到顯存里。所以內(nèi)存存的可能就只是一個(gè)地址而已。
2. 如果內(nèi)存不夠用了,就會(huì)把那些已經(jīng)調(diào)到顯存的顯示數(shù)據(jù)對(duì)應(yīng)的內(nèi)存空間釋放掉。就這么簡(jiǎn)單!
希望樓主別鉆牛角尖啦,明白不?
內(nèi)存和顯存壓根干的活就不一樣。內(nèi)存嘛,就是CPU用來(lái)緩存硬盤數(shù)據(jù)的,這個(gè)大家都知道。但顯存不同,它不光要存原始圖像數(shù)據(jù),還得存GPU處理完的數(shù)據(jù),之后RAMDAC(就是數(shù)模轉(zhuǎn)換器)從顯存里讀數(shù)據(jù),把數(shù)字信號(hào)轉(zhuǎn)成模擬信號(hào),最后屏幕才能顯示出來(lái)。
再說說樓主的問題:
1. 顯存的數(shù)據(jù)不一定都從內(nèi)存復(fù)制來(lái)的啊!你既然學(xué)編程,肯定知道指針吧?很多時(shí)候,內(nèi)存里可能只存了個(gè)指向硬盤地址的指針。然后CPU把這個(gè)地址告訴GPU,GPU自己根據(jù)地址把數(shù)據(jù)調(diào)到顯存里。所以內(nèi)存存的可能就只是一個(gè)地址而已。
2. 如果內(nèi)存不夠用了,就會(huì)把那些已經(jīng)調(diào)到顯存的顯示數(shù)據(jù)對(duì)應(yīng)的內(nèi)存空間釋放掉。就這么簡(jiǎn)單!
希望樓主別鉆牛角尖啦,明白不?