Курсор мыши в играх

Все вопросы практического направления. Видеокарты и другое "железо", особенности работы, настройка Windows и приложений, обнаруженные ошибки, нежелательные эффекты и прочее.

Модератор: mercenary

Святослав
Сообщения: 34
Зарегистрирован: Сб сен 16, 2006 18:20

Курсор мыши в играх

Сообщение Святослав » Пн окт 02, 2006 11:10

Почему-то при включённом АСТЕРе в некоторых играх (Luxor, Щизм 2, наверняка ещё есть) курсор мыши начинает мерцать с большой скоростью, на глаз - 20-30 раз в секунду. Кроме этого, тот же Luxor теряет плавность движения картинки. Ощущение такое, будто его запустили на более слабом компе. При этом на втором рабочем месте ничего не запускается и работа не ведётся. При отключенном АСТЕРе таких артефактов не наблюдается. При сравнении загрузки процессора в Диспетчере задач - разницы (принципиальной) замечено не было. В обоих случаях (с включённым АСТЕРом и выключенном), процесс Luxor занимает 97-98% ресурсов процессора.

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Пн окт 02, 2006 11:46

Age of Empires... Суть проблемы такова: курсор на "двухголовых" видеокартах при запуске АСТЕР преобразуется из аппаратного в программный (иначе он не мог бы существовать одновременно на двух экранах), поэтому игра, часто перерисовывающая свой экран, просто затирает курсор; отсюда мерцание. Замедление графики возможно в 2D-играх (некоторое объяснение здесь, см. DDB). В отличие от курсора, это не принципиальная проблема; некоторыми функциями 2D-ускорения пришлось пожертвовать, чтобы обеспечить стабильность систем с видеокартами RADEON. Мы намерены найти другое решение проблемы стабильности (не снижающее скорости графики), но сколько это займет времени, пока не могу сказать.

Святослав
Сообщения: 34
Зарегистрирован: Сб сен 16, 2006 18:20

Опять курсор и ускорение

Сообщение Святослав » Пт окт 20, 2006 16:13

Есть такая игра The Sims superstar. Так вот, она жутко глючит по части графики. Чтобы её нормально запустить приходится заходить в настройки экрана: параметры\кнопка дополнительно\закладка диагностика\ползунок аппаратное ускорение.

Ползунок имеет 6 положений, если его задвинуть влево до упора - sims начинает нормально работать. Всё это пока не имеет отношения к Астеру. Хотя, отчасти, может и имеет, так как несмотря на то, что Астер отключает частично какое-то ускорение, sims'у этого для нормальной работы - мало :)

Далее, пробую запускать тот же Luxor (из под Астера) с разными положениями ползунка. Получается следующее: при всех положениях скорость игры - одинаково замедленная (из предыдущего поста - ясно почему), но! На 1, 2 и 3-й слева позиции ползунка в игре перестаёт мерцать курсор мыши, он становится нормальным. Несмотря на то, что карта - двухголовая. Второй курсор (на втором мониторе) также ведёт себя прилично.

Возникает мысль: исходя из вышеизложенного, а нельзя ли что-то такое отключить(включить) в настройках драйвера видеокарты, чтобы добиться аналогичного результата только для курсора (чтобы он не мерцал), а ускорение оставить на уровне?

Имеется ввиду, конечно, чтобы Астер сам включал(отключал - я не знаю) эту предполагаемую настройку/опцию при обнаружении двухголовой карты.

Судя по тому, что принципиально добиться немерцающего курсора - можно, хочется надеятся, что эта задача имеет решение.

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Пт окт 20, 2006 22:18

...На 1, 2 и 3-й слева позиции ползунка в игре перестаёт мерцать курсор мыши, он становится нормальным. Несмотря на то, что карта - двухголовая...
Этому есть простое, но мало чего обещающее объяснение. На 1-3 позициях полностью отключается ускорение DirectX, и оконная система, та, что рисует программный курсор, берет на себя всю игровую графику. При этом она синхронизирует прорисовку графики и курсора, и потому он не мерцает.

Когда работает ускорение DirectX, но не работает ускорение курсора, как это происходит в случае с АСТЕР, оконная система, передавая команды прорисовки ускорителю (видеодрайверу), такую синхронизацию выполнять не может, потому что точно не знает, когда и где будет идти прорисовка, поэтому курсор может мерцать, даже если конкретно под ним ничего не рисуется. Здесь курсор гасится системой, чтобы исключить появление "артефактов": при перемещении программного курсора система должна восстанавливать то, что было под ним, а для этого "запомненный" участок изображения должен соответствовать тому, что реально присутствует на экране, поэтому при малейшем "подозрении" на прорисовку в области курсора система сама его гасит, чтобы иметь возможность отследить изменения изображения под ним. Вот такое простое явление, которое сложно убрать.

Я не думаю, что хорошим решением будет полностью выключить ускорение DirectX средствами АСТЕР. В конце концов, это можно сделать вручную, если требуется. В ближайшее время мы вернемся к проблеме DDB, ее решение существенно повысит скорость игровой 2D-графики и, возможно, уменьшит эффект мерцания.

Святослав
Сообщения: 34
Зарегистрирован: Сб сен 16, 2006 18:20

Сообщение Святослав » Пн окт 23, 2006 9:54

Нет, конечно, выключать ускорение совсем не надо (и чем меньше - тем лучше). Просто странно, что "оконная система" (GDI ?) синхронизирует отрисовку с отображением курсора, а более продвинутый (?) DirectX - нет. Но это, наверное, уже вопросы к MS.

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Пн окт 23, 2006 15:02

В ситуации с DirectX "правильное" управление курсором ложится на плечи программиста, который пишет графическое приложение (игру), поэтому MS здесь ни при чем.

Кстати... у меня сейчас нет под рукой игры с мерцающим курсором; хочу попросить Вас проверить следующее: отключить АСТЕР с перезагрузкой, затем поставить ползунок ускорения на одну позицию влево от максимума (как раз отключение ускорения курсора) и посмотреть, как после этого будет вести себя игра (в смысле торможения и мерцания).

Святослав
Сообщения: 34
Зарегистрирован: Сб сен 16, 2006 18:20

Сообщение Святослав » Ср окт 25, 2006 9:56

При отключенном Астере и сдвинутом влево на одну позицию ползунке ускорения - игра не тормозит, но курсор мерцает как бешеный. Наверное, да, курсор - это глюки разработчиков игр. Они просто не тестируют их с отключенным ускорением курсора. А вот вопросик: а нельзя ли на одной "голове" видеокарты оставить аппаратный курсор, а на второй - программный? Поскольку, как я понимаю, разработчики видеодрайверов (или даже видеочипов) не озаботились поддержкой двух аппаратных курсоров.

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Ср окт 25, 2006 19:36

...а нельзя ли на одной "голове" видеокарты оставить аппаратный курсор, а на второй - программный?
Пробовали. Второе место (где отключен аппаратный курсор) начинает использовать обычно отведенную для курсора видеопамять для собственных нужд, и, соответственно, аппаратный курсор на первом месте приобретает зловещие формы. Здесь нужно найти какое-то очень хитрое решение. Будем устранять проблему с 2D-графикой, тогда, надеюсь, оно и родится.

Trogwart

Сообщение Trogwart » Чт ноя 16, 2006 9:57

В alien shooter 2 курсор и спрайты мигают, все тормозит (даже если 1 копия запущена на минимальных граф настройках)

Конф: winxp sp2 p4p800 p4 3.2 2gb radeon9800xt catalyst 6.9

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Чт ноя 16, 2006 12:53

Когда Вашу версию делали, мы немного поторопились и забыли включить утилиту настройки ускорения (и русифицировать установку). Пожалуйста, загрузите ее еще раз и переустановите. Почитать можно здесь.

Trogwart

Сообщение Trogwart » Чт ноя 16, 2006 19:52

Спасибо! После включения аппаратных курсоров на обоих местах и 2д ускорения работает отлично!

Просто незаметил сразу эту опцию :)

Pinguin

Сообщение Pinguin » Пн янв 12, 2009 7:21

"Двухголовая" видюха Asus ENGTX280, WinXP SP3. Перепробовал все советы, что нашёл на форуме, но ни включение аппаратных курсоров, ни отключение ускорения курсора мыши путём перевода ползунка на одну-две позиции влево от максимума проблему не решили (вообще не заметил изменений). Игры "SpellForce", "Silverfall" - курсор мыши всё равно мерцает и вносит артефакты. Вчера пытался решить проблему при помощи 2-й видеокарты, но примирить основную видюху с PCI Radeon 7200 так и не смог, попробую сегодня S3-шку установить (мне на втором месте мощностей не нужно), если не удастся, не знаю уж что и делать.

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Сообщение AsterMaster » Пн янв 12, 2009 16:19

Отключать ускорение курсора не нужно, потому что "ускорение курсора" - это собственно аппаратный курсор. В настройках АСТЕР аппаратный курсор нужно включить (лучше только для одного главного места). Проверяйте результат при незапущенном втором месте (автозапуск АСТЕР нужно отключить). Если при этом курсор продолжает мигать, тогда, возможно, Вы установили одну из специальных версий АСТЕР. Если Вы загружали АСТЕР из этой темы ( //forum.ibik.ru/viewtopic.php?t=10861 ), тогда посмотрите, там ниже есть инструкции по включению аппаратных курсоров.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 46 гостей