Skocz do zawartości
Sanjuro

Vmouse Benchmark V0.0.7alfa Oraz Faq Testowania Myszek

Rekomendowane odpowiedzi

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 przez Sanjuro

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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 przez Sanjuro

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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ą :(

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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 przez Sikor

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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 przez HQ12

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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<<

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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".

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość KOzi]K[

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?.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...