Существует одна древняя игруха, на движке Lith (3D движок) версии этак первой (эпоха DirectX 6, 1998 год).
И у этой игрухи существует одна проблема — мигание её «окна».
Примерно раз в несколько секунд или секунду, на мгновение появляется чёрное окно этой программы с её рамками. Причём на более ранних версиях Windows (XP) такое поведение отсутствовало.
Хочется её пофиксить, но не знаю куда рыть. Пробовал само собой разные настройки совместимости (ни на что не повлияли). Попробовал переписать создание окна высоавлением самых разных стилей (как Window Styles, так и WIndow Extended Styles и Window Class Styles) — рамка пропала, но чернота содержимого окна всё равно мигает.
Как ни странно, меньше мигать начинает, если игре жёстко в конфиге прописать ограничение FPS этак на 30 — но всё равно остаётся.
С чем может быть связан такой глюк? Куда дальше глядеть?
Может с V-Sync проблемы? Не пробовали поэкспериментировать с настройками видеокарты? По крайней мере у nVidia в настройках можно указать жесткие параметры для конкретной программы.
На Intel HD2000 можно либо врубить VSync, либо «использовать настройки приложения», то есть само приложение как-то их врубает-отрубает. Увы, ни то ни другое не помогло.
Попробуйте убить explorer.exe перед запуском игры (и запустить её на 1 ядре). Я не могу сказать, что это поможет именно при таких симптомах, но это стандартный метод запуска некоторых старых игр.
Программист, математик, задрот и даже чуть инженер
На самом деле это чрезвычайно сложно.
Как вариант, можете попробовать дизасемблировать и в сэндбоксах искать место, что вызывает мигание. Это вариант для труЪ-хакеров.
Ещё вариант - поискать уже готовые патчи, вполне возможно кто-то этой проблемой уже занимался.
Намного проще же виртуализировать. Вариантов очень много, от мелкомягкого Windows XP Mode (работает на базе Virtual PC), до встроенных QEMU со скриптами запуска.