Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
ВнизИнтересная задачка! Делаем движение курсор мыши ПЛАВНЫМ Найти похожие ветки
← →
Igor1 (2002-09-23 11:06) [0]Hi,
Год назад поменял монитор на ЖК, у которых частота обновления экрана ограничена 60 или 75 Hz.
Никаких неудобств это не доставляет, т.к. экран у LCD не мерцает, но
вот 60 Hz недостаточно для плавной отрисовки курсора мыши. Ведь обычно
мышь PS/2 или USB имеют частоту опроса 100 или 125 герц, поэтому на ЖК
мониторах многим не нравится дерганное движение курсора, в отличие от
обычных ЭЛТ мониторов где частота разверстки 85..100 Hz и более.
Поэтому мне пришла идея сделать искусственную интерполяцию движения
мыши и дорисовывать "недостающие" фазы перемещения мыши. Попробовал
поискать аналоги, но ничего не нашел. Поэтому написал небольшой
тестовый пример, который на мой взгляд визуально делает движение мыши
даже при 60 Hz значительно плавнее, за счет отрисовки дополнительно
двух фаз, на каждое перемещение курсора по экрану. Хотя у меня не всегда
правильно определяются интерполированные позиции курсора.
Отрисовку липовых курсоров сделал так: беру форму и через регион
делаю ее форму как раз под курсор, далее по BitBlt вывожу курсор.
Для меньших визуальных глюков под XP задействовал функцию придания
полупрозрачности этим окнам-курсорам (но для быстрого вывода это
требует карты nVidia/Ati с новыми драйверами, иначе тормозит)
Хотел написать эту утилиту как freeware, но не хватает здоровья и
времени, а также знания чтобы доделать качественный вывод
интерполированных курсоров, - требуется дописать перехват мыши через
хуки, а также под XP воспользоваться возможностью вывода апаратных
32-bit курсоров хоть с альфа-блендигом - что полностью разгрузит CPU и
устранит возможнные визуальные глюки. Также извлекать хендл текущиго
курсора, и отслеживать его смену.
Поэтому выкладываю программу и исходники
http://www.wnsoft.com/Sources_SmoothCursor.zip (19 KB)
// закоментарен кусок кода для придания полупрозрачности - можно включить под XP
http://www.wnsoft.com/SmoothCursor_XP.exe (150 Kb)
// вариант для WinXP. для скорости нужен свежий Detonator
http://www.wnsoft.com/SmoothCursor_9x.exe (150 Kb)
// вариант для Win9x и WinXP
Не забудьте скачать еще файл временного курсора:
http://www.wnsoft.com/cur.bmp (1 Kb) и положить в корень диска C:\
Буду рад, если кто-нибудь сможет доработать или написать аналогичный
продукт freeware или shareware и даст мне регистрационный ключик
на финальную версию :)
Или если никому эта идея не нужна, то хотя бы подскажите, как написать вывод дополнительных полноценных курсоров в Windows?
p.s. опция шлейфа в Windows - совсем не это - она только подсвечивает предыдущие позиции курсора на экране, в нашем же случае никого шлейфа не должно быть видно.
p.p.s. но я просто балдею, насколько великолепно плавно даже при 100 Hz
моего второго ЭЛТ LG Flatron 17" становится движение мыши с этой утилитой!
Igor Kokarev, WnSoft Inc.
Member of Association of Shareware Professionals (ASP)
igor@wnsoft.com
http://www.wnsoft.com
← →
REA (2002-09-23 12:19) [1]А может стандартный драйвер мышиный переписать проще?
Или встроиться в цепочку драйверов. Сам не делал - может и глупость сказал.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c