Начинающий
- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 146
- Реакции
- 4
Народ, кто сейчас ковыряет оверлеи под десятую-одиннадцатую винду в Валоранте? Поймал странный трабл, который выносит мозг уже второй день. Ситуация следующая: мой экстернал-оверлей, который идеально пашет в том же PUBG или играх с EAC/BE, при запуске в Валоранте вешает черный экран. Сам процесс игры работает, звук идет, инпуты проходят, но рендер тупо схлопывается, пока оверлей не закроешь.
Технически сижу на обычном Win32 layered window с пробросом через DWM (DwmExtendFrameIntoClientArea). Свапчейн классический под DX11.
Пробовал хайджить оверлей в доверенные процессы — бесполезно, черный экран остается. Есть подозрение, что VGK начал жестко душить DWM-композитор при попытке накинуть сторонние слои поверх окна в полноэкранном оконном режиме.
По фактам вопросы к тем, кто шарит за современные реалии:
Короче, кто сталкивался с подобным поведением окна под Валорантом, поделитесь опытом. Не хочу лезть в ДМА (DMA-плату), пока не добью софтовую часть, так как база вроде стабильная. Кто допиливал оверлеи под последние апдейты — кидайте свои соображения, в какую сторону копать, чтобы картинка не отлетала.
Технически сижу на обычном Win32 layered window с пробросом через DWM (DwmExtendFrameIntoClientArea). Свапчейн классический под DX11.
Код:
// Стандартная инициализация, которая на Win10/других АЧ летает
HWND _ovl_hwnd = CreateWindowExW(
WS_EX_TOPMOST | WS_EX_TRANSPARENT | WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE | WS_EX_LAYERED,
L"X-X-X", L"Y-Y-Y", WS_POPUP, 0, 0, _width, _height, NULL, NULL, _inst, NULL);
SetLayeredWindowAttributes(_ovl_hwnd, 0, 255, LWA_ALPHA);
MARGINS _m = {-1};
DwmExtendFrameIntoClientArea(_ovl_hwnd, &_m);
Пробовал хайджить оверлей в доверенные процессы — бесполезно, черный экран остается. Есть подозрение, что VGK начал жестко душить DWM-композитор при попытке накинуть сторонние слои поверх окна в полноэкранном оконном режиме.
По фактам вопросы к тем, кто шарит за современные реалии:
- Flip Model: Есть смысл переезжать на DXGI_SWAP_EFFECT_FLIP_DISCARD, чтобы подружиться с Flip Mode оптимизациями в последних билдах винды?
- DirectComposition: Кто пробовал уходить от классического оверлея в сторону DirectComposition? Есть ли профит в плане обхода детектирования окна в Валоранте?
- Vanguard специфик: Может дело вообще не в DWM, а в проверке на `WS_EX_LAYERED`? Не ловлю ли я «лягушку» или какой-то превентивный блок, который гасит рендер еще на этапе инициализации контекста?
Короче, кто сталкивался с подобным поведением окна под Валорантом, поделитесь опытом. Не хочу лезть в ДМА (DMA-плату), пока не добью софтовую часть, так как база вроде стабильная. Кто допиливал оверлеи под последние апдейты — кидайте свои соображения, в какую сторону копать, чтобы картинка не отлетала.