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