Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


stasmd, сложно сказать, мне такая функция, в рамках WIN32, не известна, иначе бы обязательно дал знать.
Не исключаю, что в системе можно что-то поискать, и найти, к примеру, в реестре запись про
видеопамять. А для актуального определения видеопамяти (в реестре данные могут устаревать/быть не точными), придётся связываться с графическими библиотеками.
Например с DirectX
(и с тамтешней технологией COM\COM+)
В комплекте DxSDK есть одноимённый пример Samples\C++\Misc\VideoMemory
В примере приводится определения доступной видео памяти. Наиболее точное значение (адекватной свободной) вернул GetVideoMemoryViaDirectDraw (это не название функции, а сообщения в консоли при выполнении программы из этого примера)
GetVideoMemoryViaD3D9 не понятно как считает, вернул число больше чем физически видеопамяти в системе. Вероятно как-то учитывает и ОЗУ. Остальные вообще вернули n/a


Но это зависит от приложения, если оно уже использует графическую библиотеку, то проблем быть не должно, и ответ ждёт в документации к последней.
А для не использующих, не совсем ясно, зачем выявление этого значение вовсе нужно? Разве что для написания своего Эвереста, SiSoft Sandr и подобного софта.

P.S.
Может быть если работать с API драйверов, например с функцией DrvGetDirectDrawInfo, можно узнать и количество видеопамяти.

Отправлено: 22:28, 23-12-2009 | #8