Sanjuro Opublikowano 17 Stycznia 2007 Zgłoś Opublikowano 17 Stycznia 2007 (edytowane) Radziłbym Ci kompa przeskanować jakimś dobrym AntiVirem bo Kaspersky mi trojana wykrył w tym pliczku...:/ Hmm ja stosuje NOD32 i nie narzekam na niego :| Niektóre antywiry mają za wysoką heurestykę, a na dodatek ja pakuję UPX'em programi, więc może to jest przyczyną :| Ale ok zarzucę jakiegoś onlineowego skanera. EDIT: ------- Po całononcym skanowaniu online'owym MKS'em też nic nie wykazało. Więc sądzę że jednak ten Kaspersky ma za wysoką heurestykę i wykrywa fantomy. Często to się zdaża przy małych programach (czyli najczęsciej przy tych pisanych w assemblerze). A przy moim programie :/ hmmm... pewnie nie podoba mu się ze spakowany UPX'em przez co mało zajmuje. Edytowane 18 Stycznia 2007 przez Sanjuro Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sanjuro Opublikowano 29 Stycznia 2007 Zgłoś Opublikowano 29 Stycznia 2007 (edytowane) I kolejny prerelase0.0.8a ;) A dokladniej trzy :P Te prerelasy służą do sprawdzenia przedewszystkim na czym lepiej odczytuje częstotliwość działania myszy oraz w całym programie jest już wykorzystywany z RawInput, przez co jak ktoś ma przyśpieszony kursor to może się zdziwić ;) bo może mu troche dziwnie kursor chodzić ;) Wogóle musze pomyśleć jak usunąć kursor windowsowy i malować własny kursor :P. Tak więc: - w katalogu <VMB - MS QueryPreformanceCounter> info o liczbie cykli pomiędzy kolejnymi odczytami jest pobierane za pomocą funkcji produkcji eee... Microsoftu (chyba :P ). - w katalogu <VMB - ASM GetCPUCounter> tu to samo co dotychczas, czyli znaleziona w sieci funkcja dobijająca się bezpośrednio do CPU :) - w katalogu <VMB - ASM GetCPUCounter_Acc> natomiast na życzenie pwlj już wprowadziłem test akceleracji, narazie prowizoryczny i słabo działający, no ale jest :P Kiedyś będzie lepiej działał :P Siatka jest calowa (przynajmniej w teorii, w stosunku do rozdzielczości monitora). Test rozpoczyna się kliknieciem LPM i tak samo się kończy. Pomiar automatyczny. Niestety szybko zapycha program :( W następnym prerelase może dodam cyferki na siatce. żeby wiedzieć gdzie się jest :P I postaram się powalczyć z błędami :/ Program do ściągnięcia tutaj Edytowane 29 Stycznia 2007 przez Sanjuro Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Kyle Opublikowano 29 Stycznia 2007 Zgłoś Opublikowano 29 Stycznia 2007 hmmm kursor czasem staje w miejscu ( przykleja się do krawędzi ) - prawie rozumiem czemu tak jest :rolleyes: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sanjuro Opublikowano 30 Stycznia 2007 Zgłoś Opublikowano 30 Stycznia 2007 hmmm kursor czasem staje w miejscu ( przykleja się do krawędzi ) - prawie rozumiem czemu tak jest :rolleyes: Spowodowane jest tym, że wymuszam na kursorze zmienę pozycji zgornie z danymi z RawInput. Jako, że RawInput daje informacje o przesunięciu myszy względem poprzedniej pozycji myszy, to muszę kursor ustawić w jakimś znanym miejscu (na początku programu na środku ekranu) i ją zapamiętać. Później do tej pozycji dodaję przesunięcie myszy, a następnie przestawiam kursor :) Dla tego jak ktoś ma włączone przyspieszenie myszy to kursor może drgać, bo Windows przestawi mysz wg swoich danych, a następnie program przestawia mysz wg swoich informacji :P I teraz dochodzę do sedna sprawy. kursor ustawia się w pozycji np X=0, Y=150 czyli przy lewej krawedzi i dalej nie pójdzie, natomiast info o pozycji kursora wynikające z przesunięć myszy wskazuje, że kursor jest na pozycji np. X=-300, Y=150. Dlatego póki nie zlikwidujemy tego eee... przesterowania kursor uparcie będzie rtzymał się krawędzi :P Dla ułatwienia wprowadziłem wyświetlanie aktualnej pozycji na belce tytułowej programu. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sanjuro Opublikowano 3 Lutego 2007 Zgłoś Opublikowano 3 Lutego 2007 I znowu prerelase v0.0.8a :P Tym razem poprawki dotyczące odświeżania (pwlj jak zwykle liczę na ciebie w sprawie sprawdzenia wyższych czestotliwości) i wykończenie modułu do sprawdzania akceleracji w tym nowsza ładniejsza siatka. Są dwie wersje: katalog <AniAccTest> - wersja z ruchomą siatką, dodany celownik i odczyt przesuniecia siatki w calach katalog <StaticAccTest> - wersja zaproponowana przez pwlj, czyli nieruchoma siatka, za to jest możliwość dobrania czułości myszy poprzez suwak na dole, maksymalnie po prawej czułość=1, max po lewej czułość=0.01, niestety trzeba dobrać jakoś wzór na czułość bo się dzieją dziwne rzeczy a mianowicie: kursor nie wraca tam gdzie powinien co sądzę że jest winą obliczeń numerycznych :( i jak narazie to nie widzę rozwiązania tego problemu :| kursor wogole dziwnie się zachowuje nawet na ustawieniu sens na 1 :/ po ruszeniu suwaka od czułości program nie chce się odmalowywać :/ uhhh trza będzie chyba obslużyć znienawidzony komunikat WM_PAINT :( Program do ściagnięcia tutaj Aha uprzedzając pytania czemu sitka i przesunięcie jest w calach - Niestety jakiś idiota wymyślił sobie, że w technice komputerowej łatwiej będzie posługiwać się wymiarami w stosunku do cali (DPI, CPI etc) :/ Tak więc łatwiej jest narysować równą siatkę calową niż metryczną :( Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
pwlj Opublikowano 5 Lutego 2007 Zgłoś Opublikowano 5 Lutego 2007 (edytowane) post 1 Jak dla mnie nieruchoma siatka jest dużo lepszym rozwiązaniam - przynajmniej na własne oczy widzi się jak bardzo kursor zwalnia. post 2 Sanjuro Od czasu wersji 0.0.7a moduł do interpolacji jest skopany - nie wykrywa już akceleracji software'owej. Może to napraw :> Edytowane 6 Lutego 2007 przez Sikor Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sanjuro Opublikowano 18 Lutego 2007 Zgłoś Opublikowano 18 Lutego 2007 No dawno nie bylo aktualizacji i... dalej jeszcze nie bedzie :P Narazie niestety mam za dużo na głowie :( Ale co do programu to: Program ma być do testowania myszek, tak więc będzie korzystał z RawInput czyli bezpośredniego pobierania danych z myszy. Co za tym idzie nie będzie możliwości wykrywania interpolacji na sterownikach/filtrach jak chce pwlj. Jak bedzie takowe zainteresowanie to mogę zrobić drugą wersję VMouseBenchamrka dla MouseMove czyli informacji o przesunięciu przemielonej przez sterowniki/filtry i inne chłamy. Będzie pomiar tylko częstotliwości pobierania danych z myszy, czyli wypadnie część mierząca szybkość. Takowy pomiar praktycznie nie dostarcza żadnych informacji testowych :( Narazie zajmę się w wolnych chwilach usówaniem błędów, czyli wszystkim tym co było założone żebym mógł wydać wkońcu wersję 0.0.8alfa (bez prerelase) :P Jak ktoś ma jakieś uwagi to pisać :P Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
k0n0pka Opublikowano 30 Kwietnia 2007 Zgłoś Opublikowano 30 Kwietnia 2007 ja tam nie rozumiem tej akceleracji wstecznej... robie ją na diamondbacku i wychodza jakies oproste linie, a na myszce za 10 zł wychodzi tak samo ;/ nie rozumiem ;/ Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sanjuro Opublikowano 31 Sierpnia 2007 Zgłoś Opublikowano 31 Sierpnia 2007 No i napotkałem drobne problemy... wuchodzi mi częstotliwość -100Hz ;) Musze poszukać inneych sposobów na dokładne odczytywanie czasu pomiędzy odczytami :| Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
HQ12 Opublikowano 1 Września 2007 Zgłoś Opublikowano 1 Września 2007 (edytowane) 1. co do krawędzi ekranu to u mnie wygląda to trochę inaczej bo mam 2 monitory i kursor po prostu przelatuje na ten drugi monitor 2. jedyne sensowne rozwiązanie do pomiarów samej myszy miałoby gdybyśmy dokonywali je w innym środowisku jak windows desk, wyeliminowałoby to w moim przypadku wypadanie kursora na drugi monitor jak i obeszło samą interpretację ruchy kursora poprzez windows i pozwoliło się skupić na odczytach DirectInput w postaci raw. Jeśli można byłoby zablokować kursor na centrum ekranu i ruszać wyłącznie siatką na podstawie informacji raw. nie trzeba byłoby robić tego w środowisku 3d, obejście interpretacji ruchu wskaźnika przez windows jest w obu wersjach niezbedne 3. uwzględniając że pomiar dokonywany byłby w innym środowisku na siatce metrycznej do programu niezbędne byłoby dodanie własnych opcji umożliwiających zmianę szybkości przesuwania kursora lub zwiększanie lub zmejszanie samej siatki w wypadku użycia ruchomej siatki która jest całkiem fajnym rozwiązaniem, po postu nic nam nie daj oglądanie super szybko przesuwającej się siatki czy kursora w polu 4. brakuje informacji na temat aktualych ustawień myszy jak i portu usb na których dokonywane są pomiary, wypadałoby taką detekcje dodać 5. w przypadku testu na akceleracje wsteczną myszy moim zdaniem niezbędne jest dodanie własnego suwaczka umożliwiającego zmniejszenie szybkości kursora, w quake3 robie takie testy przy szybkości 90cm/360* , można byłoby przypisać to dla rolki myszy ale gdzieś musi być notyfikacja cośmy sobie tam kręcąc nią nastawili ;) 6. uśrednienie wyników częstotliwości odświeżania, mianowicie nie chodzi o to żeby uśrednić cały pomiar tylko załączyć 2 okienka z tylko jedną cyfra a nie słupem cyfr lecących w górę bo i tak za przeproszenie g0wno z tego można się dowiedzieć ;) do tego trzeba wyeliminować przekłamania odczytu które pojawiają się w peaku i potrafią sięgnąć 20oooHz co jest bzdura wierutna :) program musi dla odpowiednich ustawień 125, 500, 1000 ustalać procentowo próg do którego faktycznie częstotliwość skoczyć, i nie brać pod uwagę liczb które przekroczyły dajmy na to 1100 przy ustawieniu portu na 1000, można też zrobić że przy 1000Hz porcie wszystkie cyfry powyżej 1000 są odrzucane i nie brane przy pod uwagę przy uśrednianiu wyniku. Dlaczego 2 okna ? 1. obecna prędkość uśredniona i 2. maksymalnie osiągnięta prędkość, ofc oba okna powinny mieć możliwość wyczyszczenia czy tez samo czyszczenia jak to jest w obecnie dostępnych programach pokazujących średnią prędkość aktualizacji pozycji wskaźnika ciężkie zadanie przed Tobą hf :) idea programu jest vgood --edit-- kilka drobnych uwag co do ostatniej wersji. mułowatość kursora jest dobitnie wkurzając, tak samo jak późniejsze wracanie kursorem na pole testowe jeśli nie było się zbyt cierpliwym i machało na tym delaju myszka jak szalony moje wyobrażenie o siatce o ruchomej siatce z zablokowanym wskaźnikiem już przedstawiłem bo to które jest w programie nie za bardzo wiem do czego miałoby służyć :> co do pomiaru akceleracji czy nie dało by się tego w jakiś inny sposób zrobić, pacnąć dwie linie vertical, i pomiar byłby dokonywany automatycznie po przekroczeniu linij 1 zaczęty a po przekroczeniu drugiej linij zakończony, jest to ominięcie ludzkiego błędu w przesunięcu myszki i byłoby dokonywane na podstawie rozdzielczości myszy do czasu w jakim trwał ruch i ilości pokonanej drogi pixeli namieszałem poprzednim razem nieco, i nie jestem pewien czy da się takie coś do mierezenia accela zaimplementować ale z pewnością warto spróbować Edytowane 3 Września 2007 przez HQ12 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sanjuro Opublikowano 2 Grudnia 2007 Zgłoś Opublikowano 2 Grudnia 2007 1. co do krawędzi ekranu to u mnie wygląda to trochę inaczej bo mam 2 monitory i kursor po prostu przelatuje na ten drugi monitor 2. jedyne sensowne rozwiązanie do pomiarów samej myszy miałoby gdybyśmy dokonywali je w innym środowisku jak windows desk, wyeliminowałoby to w moim przypadku wypadanie kursora na drugi monitor jak i obeszło samą interpretację ruchy kursora poprzez windows i pozwoliło się skupić na odczytach DirectInput w postaci raw. Jeśli można byłoby zablokować kursor na centrum ekranu i ruszać wyłącznie siatką na podstawie informacji raw. nie trzeba byłoby robić tego w środowisku 3d, obejście interpretacji ruchu wskaźnika przez windows jest w obu wersjach niezbedne 3. uwzględniając że pomiar dokonywany byłby w innym środowisku na siatce metrycznej do programu niezbędne byłoby dodanie własnych opcji umożliwiających zmianę szybkości przesuwania kursora lub zwiększanie lub zmejszanie samej siatki w wypadku użycia ruchomej siatki która jest całkiem fajnym rozwiązaniem, po postu nic nam nie daj oglądanie super szybko przesuwającej się siatki czy kursora w polu 4. brakuje informacji na temat aktualych ustawień myszy jak i portu usb na których dokonywane są pomiary, wypadałoby taką detekcje dodać 5. w przypadku testu na akceleracje wsteczną myszy moim zdaniem niezbędne jest dodanie własnego suwaczka umożliwiającego zmniejszenie szybkości kursora, w quake3 robie takie testy przy szybkości 90cm/360* , można byłoby przypisać to dla rolki myszy ale gdzieś musi być notyfikacja cośmy sobie tam kręcąc nią nastawili ;) 6. uśrednienie wyników częstotliwości odświeżania, mianowicie nie chodzi o to żeby uśrednić cały pomiar tylko załączyć 2 okienka z tylko jedną cyfra a nie słupem cyfr lecących w górę bo i tak za przeproszenie g0wno z tego można się dowiedzieć ;) do tego trzeba wyeliminować przekłamania odczytu które pojawiają się w peaku i potrafią sięgnąć 20oooHz co jest bzdura wierutna :) program musi dla odpowiednich ustawień 125, 500, 1000 ustalać procentowo próg do którego faktycznie częstotliwość skoczyć, i nie brać pod uwagę liczb które przekroczyły dajmy na to 1100 przy ustawieniu portu na 1000, można też zrobić że przy 1000Hz porcie wszystkie cyfry powyżej 1000 są odrzucane i nie brane przy pod uwagę przy uśrednianiu wyniku. Dlaczego 2 okna ? 1. obecna prędkość uśredniona i 2. maksymalnie osiągnięta prędkość, ofc oba okna powinny mieć możliwość wyczyszczenia czy tez samo czyszczenia jak to jest w obecnie dostępnych programach pokazujących średnią prędkość aktualizacji pozycji wskaźnika ciężkie zadanie przed Tobą hf :) idea programu jest vgood --edit-- kilka drobnych uwag co do ostatniej wersji. mułowatość kursora jest dobitnie wkurzając, tak samo jak późniejsze wracanie kursorem na pole testowe jeśli nie było się zbyt cierpliwym i machało na tym delaju myszka jak szalony moje wyobrażenie o siatce o ruchomej siatce z zablokowanym wskaźnikiem już przedstawiłem bo to które jest w programie nie za bardzo wiem do czego miałoby służyć :> co do pomiaru akceleracji czy nie dało by się tego w jakiś inny sposób zrobić, pacnąć dwie linie vertical, i pomiar byłby dokonywany automatycznie po przekroczeniu linij 1 zaczęty a po przekroczeniu drugiej linij zakończony, jest to ominięcie ludzkiego błędu w przesunięcu myszki i byłoby dokonywane na podstawie rozdzielczości myszy do czasu w jakim trwał ruch i ilości pokonanej drogi pixeli namieszałem poprzednim razem nieco, i nie jestem pewien czy da się takie coś do mierezenia accela zaimplementować ale z pewnością warto spróbować Ok dzięki za uwagi. Pomyślę. Narazie męczę się z Timerem (jak mam czas...), żeby dobrze zmierzyć prędkość myszy. Po zmianie kompa w ogóle kosmiczne wyniki mi wychodziły (średnio - 90Hz!!! - MINUS!!!). Rozwiązanie niby proste. Na siłę przypisać się do rdzenia... ale w rezultacie i tak dawało mi błędne wyniki (ok 150-160Hz!!!). Problemem jest pewnie odczyt częstotliwości proca w odpowiednim miejscu programu. Coś niby wykombinowałem z tym, ale pasuje sprawdzić czy działa w przypadkach: 1) Proc AMD (biblioteka Intela zaimplementowana, chociaż nie jestem pewien na ile jest ona potrzebna :P) 2) Czy pomiar jest dokładny na wyższych częstotliwościach myszy (250,500,1000Hz). Program do testu można ściągnąć >>TUTAJ<< Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Kyle Opublikowano 2 Kwietnia 2008 Zgłoś Opublikowano 2 Kwietnia 2008 W najnowszej wersji przeszkadza to "przyklejanie" (prymitywnie mówiąc) się kursora do krawędzi. W zakładce "interpolacja" lepiej kiedy jest ramka lupy i tło jest białe a nie jest tak kiedy przechodzimy z zakładki "odświeżanie i szybkość" do zakładki "interpolacja". Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość KOzi]K[ Opublikowano 21 Stycznia 2010 Zgłoś Opublikowano 21 Stycznia 2010 A ja nie czaję pomiaru rzeczywistego dpi... Przy dpi 5600 i rozdziałce 1920x1080 używam 0,25 cala?. Może mi autor tego programu wytłumaczyć bo ja w tym widzę problem z błędem grubym. Moje ręce nie są w stanie odmierzyć precyzyjnie 0,25 cala czyli 63,5mm?. Jeżeli się mylę to proszę o znak:) Jak to w ogóle przeorać na rzeczywiste dpi?. Sorka ale chcę to zrozumieć, a nie daję rady:D. p.s dlaczego próbkowanie na mambie pokazuje mi ~530-570hz jeżeli jest ustawiona na 1000hz?. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sanjuro Opublikowano 21 Stycznia 2010 Zgłoś Opublikowano 21 Stycznia 2010 A ja nie czaję pomiaru rzeczywistego dpi... Przy dpi 5600 i rozdziałce 1920x1080 używam 0,25 cala?. Może mi autor tego programu wytłumaczyć bo ja w tym widzę problem z błędem grubym. Moje ręce nie są w stanie odmierzyć precyzyjnie 0,25 cala czyli 63,5mm?. Jeżeli się mylę to proszę o znak:) Jak to w ogóle przeorać na rzeczywiste dpi?. Sorka ale chcę to zrozumieć, a nie daję rady:D. p.s dlaczego próbkowanie na mambie pokazuje mi ~530-570hz jeżeli jest ustawiona na 1000hz?. Moduł próbkowania nigdy nie działał poprawnie :( Do tego celu proponuje poszukać innego pewnego programu.. Próbowałem to naprawić... ale nie miałem pojęcia jak. Problem był z precyzyjnym pomiarem czasu poprzez procesor... program gubi się na wielordzeniowości i zmiennej częstotliwości pracy proca, częściowo załatwiłem to biblioteką etimer, ale nie do końca. Tzn... u mnie pokazuje dobrze :P dopóki się nie "zapcha" ;) Co do pomiaru dpi to program sam ci podaje DPI po pomiarze. Pomiar najdokładniejszy jest przy przesunięciu myszy na 1 cal... ale wtedy przy twoim przypadku wymagałoby to ekranu o rozdzielczości poziomej >5600 punktów (miałem plan żeby program wrzucić w 3D... wtedy test rozdziałki być przeprowadzany zawsze dla 1" lub innego przesunięcia). Jako że masz 1920 to tak jak sam napisałeś używasz przesunięcia dla 0,25" i zgadza się będą tu występowały duże błędy dla takiej rozdzielczości myszy (każdy 1 mm to ok 220CPI przy rozdzielczości myszy 5600CPI). Co do precyzyjnego odmierzania 6,35mm (przecinek ci się przesunął :P ) proponowałem wykorzystać suwmiarkę. Zresztą przytoczę cytat z pierwszej strony gdzie był wyjaśniany pomiar rozdzielczości za pomocą suwmiarki: Test rozdzielczości rzeczywistej, gdy wykluczyliśmy na danej rozdzielczości myszy obecność interpolacji oraz akceleracji, możemy zmierzyć rzeczywistą rozdzielczość myszy. W tym celu należy narysować linie prostą przesuwając mysz w poziomie na odległość 1 cala (dla rozdzielczości myszy <800cpi i rozdzielczości ekranu >=800x600) lub 0.5 cala (dla rozdzielczości myszy <=2000cpi i rozdzielczości ekrany <1600xYYYY). Długość pozioma narysowanej lini wyznaczy nam rozdzielczość odpowiednio: CPImyszy = Llini (dla przesunięcia o 1 cal), CPImyszy = Llini*2 (dla przesunięcia o 0.5 cala), CPImyszy = Llini*4 (dla przesunięcia o 0.25 cala), Aby ułatwić sobie pomiar i zwiększyć precyzję pomiaru, można skorzystać ze suwmiarki. Mierzymy szerokość myszy (w tylniej części gdzie jest najszersza), do wyniku pomiaru szerokości dodajemy przesunięcie (1” lub 0.5” lub 0.25”) i tak przygotowaną suwmiarkę kładziemy na podkładce. Mysz opieramy tak by jeden bok opierał się na jednej ze szczęk a jej tył na prowadnicy suwmiarki i rysujemy linię przesuwając mysz prostopadle do prowadnicy (a równolegle do szczęk) w kierunku drugiej szczęki. W moim programie pomiar rozdzielczości dokonuje się w zakładce Rozdzielczość. Rysowanie linii następuje po pierwszym kliknięciu, a po drugim zostaje zatwierdzony koniec linii. Pomiar dokonywany jest automatycznie (wartość bezwzględna z różnicy pomiędzy poziomym wymiarem punktu początkowego i punktu końcowego, tak więc pomiaru można dokonywać z lewej do prawej i z prawej do lewej :P). Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...