Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Вниз

как узнать объём видео памяти?   Найти похожие ветки 

 
vitall   (2003-05-18 13:19) [0]

Спасибо всем кто откликнется.


 
vital   (2003-05-18 16:38) [1]

Удалено модератором


 
vitall   (2003-05-19 13:25) [2]

Удалено модератором


 
NailMan   (2003-05-19 14:18) [3]

Используя DirectDraw(по-другому не знаю):

FDD : IDirectDraw7 ;
DDSCaps2 : TDDSCaps2;

..Создаешь интерфейс FDD (IDirectDraw7) через левый IDirectDraw, который создаешь через CoInitialize из модуля ActiveX

FillChar(DDSCaps2, SizeOf(DDSCaps2), 0);
DDSCaps2.dwCaps := DDSCAPS_VIDEOMEMORY;
FDD.GetAvailableVidMem(DDSCaps2,VideoMem,VideoMemFree);
убиваешь левый интерфейс и FDD

Правда размер видеопамяти будет возвращаться несколько меньший, с чем связано нынаю.


 
vitall   (2003-05-19 15:53) [4]

Благодарю,
может кто занет как получить объём памяти с помощью d3d8?


 
NailMan   (2003-05-19 16:08) [5]

Он тебе такого не покажет. Можно только получить размер текстурной памяти, тобишь Local Video mem + AGP mem. Я у себя в игре заюзал именно через DDraw + выводимые им 62.3 Мб, проанализировав привожу его к нормальным 64 мегам видео.


 
vitall   (2003-05-19 16:42) [6]

Обидно, что не покажет, but хоть знать теперь буду...
размер текстурной памяти... - если не сложно что имеется ввиду?
Я пробовал подключить DDraw он выдаёт непонятные 1215, - причём пофиг какой изначально объём памяти (32 или 64), либо я что-то не правильно делаю или насколько я понял это проблемма моей в-карты.


 
NailMan   (2003-05-19 17:22) [7]

размер текстурной памяти... - если не сложно что имеется ввиду?

Директ имеет только общуу текстурную память, которая бывает в 2 режимах:
1) режим DIME : локальная память на видеоадаптере - видеобуфер - Z-буфер + AGP память с размером апертуры
8 мегов(куда деваются незнаю).
2) режим PCI : локальная память на видеоадаптере - видеобуфер -
Z-буфер + сколько ты выделил мегов на режим PCI(в дровах)

(П2. относится к nVidia`шным карточкам, как у ATI незнаю)

Все это (внешне) нам Директом показывается единой памятью, которую мы забиваем незадумываясь. Сам же Директ внутри себя уже манипулирует куда чего залить для лучшей скорости рендера, в локальную адаптера или выгрузить в AGP.

Я пробовал подключить DDraw он выдаёт непонятные 1215, - причём пофиг какой изначально объём памяти (32 или 64), либо я что-то не правильно делаю или насколько я понял это проблемма моей в-карты.
Ты как его создавал?

CoInitialize;
CreateDirectDraw()//создаем левый директор дров
DD.Query`им от него FDD(dd7) с IID_IDirectDraw7

вытаскиваем по вышеприведенному коду размер в.памяти

COUnInitialize;



 
vitall   (2003-05-19 17:52) [8]

Ой как много всего и половина мне не понятна (я не очень хорошо программирую, единственный язык который понимаю = Delphi)

режим PCI - в смысле выделил? <<-- это делается прграмно? Я не задаю никаких параметров по памяти, и второй момент есть ощущение, что все текстуры дублируются в оперативке - может быть такое? (тобишь грузятся и туда и сюда) возможно так и должно быть, я про это к моему сожалению ничего не знаю и где посмотреть не знаю, а очень хочется :)...

nVidia`шные карточки конечно good но я их не люблю тк сплошная рекламма, всё тоже самое можно делать програмно (правда я пока ещё не умею)

CoInitialize;!!! я не запускал :)

CreateDirectDrawEx() ведь делает примерно тоже самое, что и CreateDirectDraw()?


 
NailMan   (2003-05-19 18:15) [9]

режим PCI - в смысле выделил? <<-- это делается прграмно? Я не задаю никаких параметров по памяти, и
Ну в смысле в драйверах(по крайней мере у nvidia) есть такой параметр как количество мег выделяемых в качестве дополнительной памяти в режиме когда карта работает в PCI-режиме. Собсно можно определить(не всегда) программно в каком режиме работает карта: AGP(DiME) или PCI. Достаточно проверить флаги у D3DCAPS8, что-то вроде TexuresSystemMemory, TexuresAGPMemory или как-то так(SDK под рукой нет). Если первое включено, то PCI если второе AGP.

второй момент есть ощущение, что все текстуры дублируются в оперативке - может быть такое?
именно так, но несколько иначе. Точнее не скажу - не помню, давно в Фидо проскакивали принципы директовского мэнедмента.

CreateDirectDrawEx() ведь делает примерно тоже самое, что и CreateDirectDraw()?
Я уж не помню почему не сделал черех Ex, видимо чего-то там надо было чего у меня еще не создалось(опять говорю sdk нет - вспомнить не могу). Я сделал через левый DDraw - усе работает. Чего еще надо для спокойствия души?


 
vitall   (2003-05-19 18:36) [10]

>>>Я сделал через левый DDraw - усе работает <<<- так у меня то не работает вот душа и не успокаивается... правда я ещё не попробовал твой вариант...

>>>дублируются в оперативке - может быть такое?
именно так, но несколько иначе. <<<- это можно как-то контролировать?

SDK - по DX? если да то где такой взять, я смотрел но всё время натыкаюсь на SDK которые уже после DX <- не знаю как правильно объяснить... :)

>>>не помню почему не сделал черех Ex,видимо ... не создалось <<<- у меня как раз наоборот :) без Ex не работает...



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.01 c
1-89993
CAHEK
2003-11-17 13:08
2003.11.27
Ошибка работы с датами?


7-90139
Basil
2003-09-08 18:08
2003.11.27
Помогите спрятать прогу от CTRL+ALT+DEL в NT!


1-89850
azazello
2003-11-16 10:09
2003.11.27
Вопрос про версию программы и дату создания билда


4-90169
Hamstel
2003-07-18 17:43
2003.11.27
Запуск програмы от имени другого пользователя


3-89789
KIR
2003-11-06 17:38
2003.11.27
Народ, требуется ли BDE, если используется DB.pas?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский