Итак, многие, я думаю, уже сталкивались с проблемой на Windows 10, когда в игре не работает мышь.
Симптомы:
В самом меню курсор может двигаться, но выбрать ничего невозможно. Самая основная проблема внутри игры: мышь ни на что не реагирует, повернуть камеру невозможно, стрелять тоже.
Почему это происходит?
Я перепробовал все возможные решения. Глобальные моды не ставил, так как предпочитаю «чистую» игру, но и они могут не помочь, так как корень проблемы в другом. Я перепробовал разные версии библиотеки dinput8.dll с различными режимами совместимости.
Почему dinput8.dll не помогает на процессорах Intel 12, 13 и 14 поколений?
GTA: Vice City — старая игра, она не рассчитана на многоядерные процессоры, тем более на современные гибридные. В 2003 году таких CPU просто не существовало. Игра проектировалась под Pentium 3 / Athlon XP (1 поток, 1 ядро, никаких Hyper-Threading, SMT или E-ядер) и планировщик Windows XP.
Фиксы типа dinput8.dll не работают, так как они не управляют планировщиком задач и не могут запретить Windows переключать ядра. Мышь в игре завязана на таймеры и не дружит с многопоточностью: происходит рассинхрон, и пропадает ввод. Проблема не в DirectInput, а в том, на какие ядра Windows перекидывает поток. На гибридных процессорах Intel GTA VC не является потокобезопасной, Windows 10 постоянно мигрирует процесс, а dinput, asi плагины или режимы совместимости не могут это запретить. Но это может сделать Affinity (Сходство)!
Что можно смело забыть:
Все версии dinput8.dll, режимы совместимости, mouse fix.asi, переустановку игры, настройки DPI и ускорения мыши.
Решение
Перепробовав множество способов, я остановился на самом эффективном — отключении лишних ядер. Это эмулирует поведение старого процессора, стабилизирует таймеры игры, запрещает миграцию потока и убирает рассинхрон мыши. Способ полностью совместим с 12/13/14 поколениями Intel.
Способ 1: Временный (через Диспетчер задач)
Минус: нужно повторять после каждого запуска игры.
- Запустите GTA: Vice City.
- Сверните игру (Alt + Tab) или нажмите Ctrl + Shift + Esc, чтобы открыть Диспетчер задач.
- Перейдите во вкладку Подробности.
- Найдите процесс gta-vc.exe.
- Нажмите на него правой кнопкой мыши и выберите Задать сходство (Set Affinity).
- Снимите галочки со всех процессоров.
- Поставьте галочку только на ЦП 0 (CPU 0).
- Нажмите ОК и вернитесь в игру.
Способ 2: Постоянный (BAT-файл)
Я предлагаю более удобное решение, чтобы не повторять процедуру выше каждый раз. Мы создадим специальный файл запуска.
- В папке с игрой создайте новый текстовый документ.
- Откройте его и впишите следующую строку:
start /affinity 1 gta-vc.exe - Сохраните файл под названием gta-vc_affinity.bat (важно сменить расширение с .txt на .bat).
- Запускайте игру только через этот файл.
Важно: Иногда, даже при таком запуске, нужно нажать Esc в игре и подвигать мышью в меню, чтобы она «проснулась». Также рекомендую зайти в настройки управления и отрегулировать чувствительность мыши.
Приятной вам игры!