АВТОР ПРОГРАММЫ ВЫРАЖАЕТ БЛАГОДАРНОСТЬ АДМИНИСТРАЦИИ И ПОСЕТИТЕЛЯМ САЙТА NWCOM.INFO ЗА СОДЕЙСТВИЕ В ОТЛАДКЕ И ПОПУЛЯРИЗАЦИИ ПРОДУКТА. ================================================================================ Video Memory stress Test v1.7 Video Memory stress Test for Clean Environment v1.21 Этот тест позволяет очень досконально проверить всю доступную для DirectX видеопамять на предмет сбоев. Незаменимая вещь для оверклокеров ;) "Video Memory stress Test for Clean Environment" является отдельной программой, которая должна запускаться путем загрузки со специального загрузочного диска. Дополнительная информация может быть найдена в каталоге VMTCE этого архива. Основное отличие от моей старой программы Artifact Locator состоит в том, что эта программа работает с поверхностями как с битовыми картами, а не как с Device Context, что позволяет избежать использования GDI и применить битовые маски вместо цветовых. Проверка доступа в разных режимах теперь производится "в фоне", без изменения текущего видеорежима. Теперь никакой показухи: только два прогрессбара и сухие цифры результатов, все для максимально эффективного обнаружения сбоев. В процессе работы в поле журнала будет заноситься разнообразная информация, сообщения об ошибках видеопамяти имеют примерно такой вид: Ошибка в [01ABCDEF]: должно быть FFFF, однако найдено FFEF (биты: 0000000000010000) При обнаружении ошибки также будет увеличиваться счетчик "Найдено ошибок". Все остальные сообщения, выводимые в журнал являются сугубо информационными и об каких-либо ошибках не говорят. Названия тестов и значения паттернов говорят сами за себя, поэтому их комментировать не буду. Отдельного уоминания заслуживает только переключатель "Игнорировать битовые маски цветов". Суть его работы такова. При работе с поверхностями с глубиной цвета 16 бит возможно такое разделение этого массива на базовые цвета: 5 бит на красный, 6 бит на зеленый и 5 бит на синий -- всего 16 бит 5 бит на красный, 5 бит на зеленый и 5 бит на синий -- всего 15 бит. Во втором варианте из всех выделенных на каждый пиксел используется только 15 бит, старший, шеснадцатый, просто не используется, а значит не может быть протестирован. Аналогичная ситуация возникает и в 32-битных режимах работы, только там не используется уже целый байт (на каждый цвет отдано по одному байту, старший байт не используется). Установка упомянутого флажка заставляет программу наплевать на карту распределения цветов и использовать все доступные разряды для тестированиия. Отключаемой эта функция сделана на тот случай, если какой-нибудь GPU или драйвер воспротивится полному использованию разрядной сетки (например использует "неиспользуемые" разряды для своих целей) и тест начнет сыпать ошибками с битовыми масками 1000000000000000 в режиме RGB:555 и 11111111000000000000000000000000 в режимах RGB:888 и BGR:888. Использование режима "Игнорировать битовые маски цветов" заметно увеличивает количество тестов и, как следствие, общее время тестирования. Выбор размеров тестовых поверхностей позволяет проверять старые видеокарты. Если видеопамяти не хватает на целую поверхность указанного размера (или после построения поверхностей остается "хвост" малой длины), программа урежет высоту так, чтобы использовать всю возможную память. На видеокартах с сотнями мегабайт видеопамяти полный набор тестов может длиться часами. Експресс-тест можно провести, выбрав значение "Сокращенный" или "Експресс 15%" в поле "Набор тестов". Эти варианты отличаются тем, что "Сокращенный" не проводит проверку с бегущими битами. Вариант "Експресс 15%" проводит полный цикл тестирования, но каждым шаблоном проверяет только случайные 15% созданных поверхностей (каждый раз разные и не менее одной на каждый шаблон). Первый вариант предпочтительнее для быстрой проверки целостности пямяти, второй -- стабильности после разгона. Кроме тестирования видеопамяти средствами DirectX, программа позволяет протестировать память при помощи интерфейса CUDA от компании nVidia. Выбор способа тестирования производится при помощи выпадающего списка "Тип теста". После выбора пункта "CUDA" панель настроек тестирования изменит свой вид и будет содержать два выпадающих списка. Сисок "Устройство" позволяет выбрать тестируемую видеокарту (при условии что их несколько), а список "Размер блока" предназначен для выбора размера тестового блока видеопамяти. Технологию CUDA на данный момент поддерживают только видеокарты nVidia серий GeForce 8xxx и 9xxx. В ТЕКУЩЕЙ ВЕРСИИ ПРОГРАММЫ ДАННЫЙ ВИД ТЕСТИРОВАНИЯ ИМЕЕТ СТАТУС БЕТА-ВЕРСИИ И ЕГО НОРМАЛЬНАЯ РАБОТА НА ВАШЕЙ СИСТЕМЕ НЕ ГАРАНТИРУЕТСЯ! Кроме тестирования видеопамяти средствами DirectX, программа позволяет протестировать память при помощи интерфейса OpenGL. Все основные настройки повторяют таковые из режима "CUDA" за одним исключением: количество тестируемой видеопамяти нужно указать вручную (OpenGL не предоставляет способов автоматического определения). В ТЕКУЩЕЙ ВЕРСИИ ПРОГРАММЫ ДАННЫЙ ВИД ТЕСТИРОВАНИЯ ИМЕЕТ СТАТУС БЕТА-ВЕРСИИ И ЕГО НОРМАЛЬНАЯ РАБОТА НА ВАШЕЙ СИСТЕМЕ НЕ ГАРАНТИРУЕТСЯ! Режим с использованием зкранного буфера позволяет проверять видеокарты, которые имеют проблемы с прямым чтением видеопамяти (на данный момент известно что к таким относится серия Radeon HD 38xx). Если в обычном режиме тест находит большое количество бессистемных ошибок, то необходимо использовать этот режим. В этом режиме может быть проверен только один видеорежим -- текущий, все остальные будут пропущены. Иногда этот режим требует отключения игнорирования битовых масок цветов (большое количество ошибок с битами 1000000000000000 или 11111111000000000000000000000000). Следует помнить что при тестировании с использованием экранного буфера окно программы должно всегда оставаться в пределах экрана и не должно перекрываться другими окнами! Тестируемыми режимами цветности можно управлять из командной строки. Если передать параметр "+24", то программа сделает попытку протестировать память в 24-битном режиме даже если видеодрайвер и не заявил о поддержке этого режима. Допускается добавление режимов от 16 бит и выше, добавляемый режим должен быть кратен восьми. Параметр "-16" наоборот исключит из тестируемых режимов все варианты 16-битного. Также можно исключать из процесса отдельные подрежимы, например параметр "-RGB:555" заставит программу проигнорировать эту схему распределения цветов (существующие схемы: RGB:565, RGB:555, BGR:565, RGB:888 и BGR:888). У видеокарт, использующих технологию TurboCache, HyperMemory или другой способ расширения видеопамяти нельзя надежно определить реальный объем памяти, поэтому для того случая, когда программа тестирует больший или меньший объем, чем реально присутствует на карте, коммандная строка позволяет указать объем тестируемой памяти. Для этого нужно передать параметром простое число реальных мегабайт, распаянных на карточке. При этом указанному числу программа следует не точно, округляя используемое количество памяти вверх до границы ближайшей целой поверхности. При старте программа устанавливает язык интерфейса исходя из региональных настроек текущего пользователя. Установить язык принудительно можно параметром "/Lang", например для английского языка нужно указать "/Lang:English", для русского языка "/Lang:Russian" и т.д. Текстовые ресурсы языков хранятся в файле VMT.LNG и могут быть изменены. Программа содержит встроенный построитель командной строки. Для его запуска должен быть передан параметр "/Loader". Этот параметр совместим только с параметром принудительного выбора языка "/Lang". Примеры вызовов программы с параметрами: VMT.EXE /Loader Запустить встроенный визуальный построитель командной строки VMT.EXE -16 -24 -BGR:888 Проверяет видеопамять только один раз в режиме 32bpp/RGB:888 VMT.EXE 64 /Lang:English Проверяет только первые 64 мегабайта видеопамяти и принудительно устанавливает английский язык интерфейса. VMT.EXE +24 16 Форсирует использование 24-битного режима цветности и ограничивает используемую видеопамять до 16 мегабайт. Рекомендации по использованию: - Иметь установленный DirectX версии не ниже седьмой. Это обязательное требование, а желательно -- девятую. - CUDA 1.1 или новее должен быть установлен для соотвествующего режима тестирования. - OpenGL 1.5 (или OpenGL 1.1 с расширением "GL_ARB_vertex_buffer_object") должен быть установлен для соотвествующего режима тестирования. - Перед тестированием закрыть все графические программы (редакторы, просмотрщики, игры и т.п.). - Деактивировать на время тестирования функцию отключения дисплея (или периодически шевелить мышкой чтобы она не активизировалась). - В начале работы программа предложит переключиться в режим 640x480x16, и рекомендуется это предложение принять чтобы тест смог захватить и проверить больше видеопамяти. После тестирования (или его принудительного завершения) старый режим будет автоматически восстановлен. - Для лучшей проверки стоит прогнать тест два раза: один раз с квадратными поверхностями (например 1024x1024), а второй -- с прямоугольными (например 256x1024), причем выбрать нужно такие размеры чтобы их произведения не были равны (1024*1024 не равно 256*1024). - Не нужно воспринимать адреса сбойных мест как физические. Никакого отношения к реальным физическим адресам видеопамяти эти числа скорее всего не имеют, а выводятся исключительно для того чтобы было легче искать закономерности и делать выводы об неисправностях. Также нужно помнить что этот адрес для одной и той же ячейки памяти может немного менятся в зависимости от режима цветности. - Массовый вывод сообщений об ошибках в журнал тормозит процесс тестирования и его можно в любой момент подавить снятием флажка "Журналирование". Подсчет общего числа ошибок в поле "Найдено ошибок" при этом не прекращается. - По той причине что путь тестовых данных от программы к видеокарте и назад очень длинный (системная память - контроллер памяти - шина видеокарты - графический процессор - видеопамять, а потом в обратном направлении), иногда могут быть зарегестрированны сбои, которые не имеют никакого отношения к видеокарте. Определить такие ошибки можно по абсолютной бессистемности их адресов и битовых карт. В любом случае при тестировании видеокарты нужно убрать весь разгон (кроме разгона самой видеокарты, если тестирование производится именно с целью постоверклокерской проверки). - В процессе тестирования не менять ничего в настройках видеокарты и видеорежим. - Не игнорировать 16-битные режимы! Многие GPU проявляют склонность к значительному уменьшению стабильности роботы контроллера памяти в этих режимах. Известные проблемы: - Существуют некоторые трудности с определением наличия и размера буфера TurboCache/HyperMemory. Так что если программа проверяет больше или меньше памяти, чем реально имеется на видеокарте, нужно в коммандной строке простым числом указать количество реально существующих мегабайт. - Видеокарты серии Radeon HD 38xx и 2xxx (возможно и другие тех же поколений) имеют проблемы с прямым чтением видеопамяти. Поэтому если такая карточка обнаруживает большое количество бессистемных ошибок, ее необходимо тестировать в режиме использования экранного буфера. 2010 (C) Charli , http://NWCOM.INFO/