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

Вниз

Куда сохраняется содержимое видеопамяти во время спящего режима?   Найти похожие ветки 

 
Дмитрий С ©   (2009-04-16 10:48) [0]

Размер файла, куда сохраняется память hiberfil.sys равен ее объему, однако Windows успешно восстанавливается после спящего режима (гибернации) даже со включенной 3D игрой. Куда сохраняется видеопамять? Предварительно копируется в оперативную и, если той не хватит, в файл подкачки?


 
axis_of_evil ©   (2009-04-16 10:57) [1]

полагаю, игра после пробуждения продолжает отрисовывать сцену.


 
Дмитрий С ©   (2009-04-16 11:06) [2]


> axis_of_evil ©   (16.04.09 10:57) [1]

А смысл видеопамяти тогда? ИМХО в ней текстуры находятся, которые в этой самой отрисовке и учавствуют.


 
Рамиль ©   (2009-04-16 11:24) [3]


> ИМХО в ней текстуры находятся, которые в этой самой отрисовке
> и учавствуют.

Тогда бы игры требовали по 4 гига видеопамяти, а не ОП.


 
NailMan ©   (2009-04-16 12:08) [4]

[3] Рамиль ©
скажу по большому секрету - текстуры, вершины и индексы они там все таки хранят, но не все, а то что отрисовывается в сцене, лишнее выгружается, нужное подгружается игромым манагером ресурсов, но из ОП ничего не отрисовывается - видяха этого по большому счету не умеет(не путать с TurboCache)

---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13


 
KilkennyCat ©   (2009-04-16 12:28) [5]


> NailMan ©   (16.04.09 12:08) [4]

Ты описал лишь частный случай какого-то движка.


 
AndreyV ©   (2009-04-16 12:30) [6]

Программа для Windows должна уметь перерисовывать окно. Если стиль, как его Overlap что ли, то ОС сохранит в ОЗУ. Так вроде.

Куда как интереснее дело с другими устройсвами. CDRW что должен, при переходе системы в спящий режим, делать во время записи? Или какой-нибудь экзотический девайс? Драйверы как-то должны пытаться разрулить это. Надо почитать в той толстой книжке Русиновича.


 
tesseract ©   (2009-04-16 13:01) [7]


> Драйверы как-то должны пытаться разрулить это.


Так драйверы причём ? Программа которая запись  дисков делает может заорать "нииинада" на предложение системы её прикрыть, вот  и всё.


 
AndreyV ©   (2009-04-16 13:14) [8]

> [7] tesseract ©   (16.04.09 13:01)
>
> > Драйверы как-то должны пытаться разрулить это.
>
> Так драйверы причём ? Программа которая запись  дисков делает
> может заорать "нииинада" на предложение системы её прикрыть,
> вот  и всё.

Тоже нехорошо - это было инициировано ИБП, аккумуляторы разрядилиь.:)


 
vrem   (2009-04-16 13:43) [9]

это должно быть красиво изнутри смотрится)
сидишь себе за компьютером, а по стене начинает ползти изморозь, всё ближе, а ты думаешь - когда разморозят то?) но противиться нельзя - может у них разрядилось всё


 
@!!ex ©   (2009-04-16 13:48) [10]

> [0] Дмитрий С ©   (16.04.09 10:48)

В идеопамяти хранится текущие используемые объекты.
Вся инфа в оперативной памяти держится.
Поэтому пробуждение не есть проблема, просто забираем из оперативки те данные, которые сейчас должны быть в видухе.


 
tesseract ©   (2009-04-16 14:00) [11]


> это было инициировано ИБП,


ИБП для того и нужен, что-бы программы завершали операции. Сообщение все программы перехватят - кто успеет, тот данные сохранит.


 
AndreyV ©   (2009-04-16 14:14) [12]

> [9] vrem   (16.04.09 13:43)
> это должно быть красиво изнутри смотрится)
> сидишь себе за компьютером, а по стене начинает ползти изморозь,
> всё ближе, а ты думаешь - когда разморозят то?) но противиться
> нельзя - может у них разрядилось всё

Не, заряд пока хорош, лето уже, почти, ну ночью шёл снег - утром всё сухо.


 
AndreyV ©   (2009-04-16 14:23) [13]

> [11] tesseract ©   (16.04.09 14:00)
> ИБП для того и нужен, что-бы программы завершали операции.
> Сообщение все программы перехватят - кто успеет, тот данные
> сохранит.

Ну и я об этом. Настроено 50% - В спящий, 30 % - OFF. А будь одна неспособная овца в стаде - прийдется её прикоцать, а ведь жаль. Так видеокарты не самое интересное.

> [6] AndreyV ©   (16.04.09 12:30)
> Куда как интереснее дело с другими устройсвами.


 
Mystic ©   (2009-04-16 14:24) [14]

А если шейдеры выполняется? Мне кажется, что сам драйвер должен устройства должен поддерживать спящий режим. И сам должен уметь сохранить состояние девайса. Косвенно это подтверждается тем, что спящий режим может не работать, если не установлены драйвера видеокарты или в системе присутствует неизвестное устройство.


 
KSergey ©   (2009-04-16 14:46) [15]

> Mystic ©   (16.04.09 14:24) [14]
> Мне кажется, что сам драйвер должен устройства должен поддерживать спящий режим.
>  И сам должен уметь сохранить состояние девайса.

Так это непременно! дрова должны быть спецовые, с поддержкой хибернетизации. Чтобы умели сохранять/восстанавливать состояние устройства. Собственно это обязательно.
А вот куда кохраняют состояние - видимо любители ДДК должны бы подсказать :)


 
VirEx()   (2009-04-16 16:06) [16]

Игры ведь работают через директ икс и опенгл?


 
test ©   (2009-04-16 16:10) [17]

VirEx()   (16.04.09 16:06) [16]
Не обязательно, это уже что за игра и как разработчик захотел.


 
Городской Шаман   (2009-04-16 16:13) [18]


> Дмитрий С ©   (16.04.09 10:48)  


Просто игра на отрисовку сцены получает экзепшен и просто проводит переинициализацию. Кстати сброс видеопамяти(так что необходима переинициализация) происходит и при переключении из режима игры на рабочий стол.


 
Sapersky   (2009-04-16 17:03) [19]

Хранение копии видео-ресурса (текстуры; вертексные/индексные буферы, т.е. модели) в системной памяти - весьма распространённая, но не обязательная схема. В DX это называется managed-ресурсы. Придумано оно главным образом для того, чтобы обеспечить работоспособность приложений при нехватке видеопамяти. Т.е. по назначению это похоже на своп-файл, но алгоритм работы несколько другой.  Поскольку копирование из видео в системную память - это слишком медленная операция (ещё со времён AGP; впрочем, PCI-Ex не сильно лучше в этом плане, то ли из-за legacy в драйверах, то ли ещё из-за чего), сбрасывать "излишки" данных в "своп" получается слишком накладно. Поэтому заранее создаются копии всего в системной, нужные в данный момент ресурсы подгружаются в видео, ненужные удаляются.
Попутно решается задача восстановления ресурсов при сбросе видеопамяти; также managed-ресурсы хорошо работают, когда требуется частая модификация ресурса CPU. Хотя MS придумал для этого всякие дополнительные write-only схемы, практически, по заверениям опытных людей, лучше всего работает банальный managed. Видимо, из-за того, что драйвер в этом случае может оптимизировать операции копирования по своему усмотрению.

Возможно хранение ресурса и только в видеопамяти. В этом случае при сбросе видеопамяти ресурс переходит в "потерянное" (lost) состояние и приложение должно само восстановить его содержимое - загрузить заново. Это хорошо знакомо тем, кто писал под DirectDraw - тогда managed-ресурсов ещё не было. Т.о. имеем больше головной боли (кроме восстановления желательно ещё контролировать занимаемый объём видеопамяти), но экономим системную память.



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

Текущий архив: 2009.06.21;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.014 c
2-1241512085
bagos
2009-05-05 12:28
2009.06.21
sql запрос с join


2-1240933165
@!!ex
2009-04-28 19:39
2009.06.21
ShortString в С++


2-1241147207
HF-Trade
2009-05-01 07:06
2009.06.21
TEmbeddedWB Post (клик в браузере на кнопку) на страничку php


2-1240982587
AIK
2009-04-29 09:23
2009.06.21
Required package VCL30 not found


2-1241082971
Гость
2009-04-30 13:16
2009.06.21
Позиционирование на записи в cxGrid