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