АВТОР ПРОГРАМИ ВИРАЖАЄ ПОДЯКУ АДМІНІСТРАЦІЇ ТА ВІДВІДУВАЧАМ САЙТУ WWW.NVWORLD.RU ЗА СПРИЯННЯ У НАЛАГОДЖЕННІ І ПОПУЛЯРИЗАЦІЇ ПРОДУКТУ. ================================================================================ 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 (можливо й інші тих же поколінь) мають проблеми з прямим читанням з відеопам'яті. Тому якщо така картка виявляє велику кількість безсистемних помилок, її необхідно тестувати в режимі використання екранного буфера. Програма безкоштовна для домашнього використання, з питань комерційних ліцензій звертайтесь за адресою misha_irpen@ukr.net чи mike@mikelab.kiev.ua. 2008 (C) Misha Cherkes, http://mikelab.kiev.ua/ Українська локалізація Igogo http://www.shvaika.ic.ck.ua