Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.27;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
1-89845
WCM
2003-11-16 18:51
2003.11.27
Создание объектов


3-89713
Disruptor
2003-11-10 08:32
2003.11.27
Выполнить скрипт (например 500 инсертов) одним разом.


3-89674
DECL
2003-11-10 23:58
2003.11.27
Как включить Interbase???


3-89739
Developerr
2003-11-10 20:51
2003.11.27
Yaffil SQL Server Login и Password


1-89870
alexis
2003-11-12 14:43
2003.11.27
Как string перевести в char?