5-03-2019, 18:30

Những khái niệm giúp đánh giá hiệu năng thực sự của một gaming mouse

Nếu như ở phần trước chỉ dừng lại ở những khái niệm cơ bản, dễ gặp dễ hiểu, thì ở phần 2 này xin mời anh em cùng tôi đi sâu hơn vào các khái niệm có thể giúp chúng ta đánh giá được hiệu năng thực sự của một gaming mouse.

Những khái niệm giúp đánh giá hiệu năng thực sự của một gaming mouse

Angle Snapping

Angle Snapping (thuật ngữ được Avago đặt ra) hay còn được biết đến với một số tên gọi khác như Angle Prediction, Drift Control hay Auto Correction đều đại dien cho thuật toán điều chỉnh đường vẽ (path correction algorithm) thường được cài sẵn vào SROM (Secure Read-Only Memory). Ban đầu thuật toán này được kèm theo một mức độ điều chỉnh nhất định bởi nhiều nhà sản xuất như Agilent (sau này là Avago) giúp cho cảm biến có khả năng theo dõi đường vẽ nhằm giúp cho người dùng có thể vẽ các đường thẳng (straight line) một cách dễ dàng. Cần lưu ý thêm, vào thời điểm được giới thiệu lần đầu tiên vào nhưng năm cuối của thập niên 90 (dưới dạng tính năng phụ), thì thuật toán này không được sử dụng cho mục đích ổn định hiệu năng chuột.
Có 3 cách phổ biến để gán thuật toán này. Cách phổ biến nhất là khi SROM được tải vào cảm biến thì bản thân nó đã được cài sẵn một khoảng giá trị cố định và được gắn lên 2 giá trị Δx/Δy được xác định bởi DSP (cũng như được gắn bởi chính DSP). Ở cách thức thứ hai, 1 khoảng giá trị vẫn được nạp vào cảm biến thông qua SROM, nhưng lại được điều chỉnh bởi MCU bằng cách tắt hoặc bật (được sử dụng trên Logitech G9x). Với cách thức thứ 3, được sử dụng trên Steelseries Xai và Sensei, được cho phép điều chỉnh thuật toán này hoàn toàn. SROM của những con mouse này không được cài sẵn bất cứ phần nào liên quan tới thuật toán này, mà thay vào đấy là MCU (có thể là DSP) tự tính toán biến số cho thuật toán và gắn lên 2 giá trị Δx/Δy, tùy thuộc vào tùy chọn của người sử dụng (được biết tới với tính năng FreeMove).
Với bất kì cách thức nào như trên, khi được bật lên, mọi chuyển động nằm trong khoảng ±xº tính từ trục X hoặc Y đều bị đưa về trục gần nhất. Ví dụ, khi cảm biến quét chuyển động tại ±2º tính từ trục X trong khi ngưỡng được đặt ra là ±5º, thì tín hiệu di chuyển đầu ra sẽ bị đưa về trục X ở 0º.
Để nhận biết được mouse có bị Angle Snapping hay không cũng không có gì khó, chỉ cần vào MS Paint vẽ 1 đường thẳng nằm ngang với tốc độ vừa phải bằng pecil tool, đường chuột càng trồi sụt bao nhiêu thì con mouse càng ít hiện tượng Angle Snapping bấy nhiêu. Còn 1 cách nữa chuẩn hơn đó là vẽ những vòng xoắn vào nhau giống như lò xo, vòng xoắn càng ít các đường thẳng hoặc các đường thẳng càng ngắn thì Angle Snapping càng được hạn chế triệt để.
Lưu ý:
Một số người có lẽ sẽ nhầm lẫn về vấn đề tác động của Polling Rate lên mức độ hiệu chỉnh trong quá trình sử dụng. Cần biết là các giá trị hiệu chỉnh này được gắn vào các giá trị Δx/Δy đã được xác định bởi DSP hoặc MCU (tùy vào cách hoạt động của từng hệ thống) trước khi data được băm nhỏ để truyền qua tín hiệu USB hoặc PS/2 và được gửi tới host (PC), do đấy Polling Rate không thể ảnh hưởng tới các giá trị này được. (Phần 1 đã chú thích về Δx/Δy rồi nha)
Giả sử mouse của bạn đang chạy ở 125Hz và dữ liệu hiện tại đang được gửi tới host (PC) bao gồm Δx = 40 và Δy = 2. Nếu chạy ở 1000Hz, thì gói data này sẽ bị băm nhỏ ra thành 8 phần, và có thể trong giống thế này:
x = 3 | x = 4 | x = 5 | x = 5 | x = 6 | x = 6 | x = 6 | x = 5
y = 0 | y =-1 | y =-1 | y = 0 | y = 0 | y = 1 | y = 1 | y = 2
Trong cả 2 trường hợp, nếu xét về tổng thể con trỏ của bạn vẫn kết thúc chuyển động tại cùng 1 điểm, mặc dù tại 1000Hz đường vẽ của bạn trông có vẻ không được thẳng như 125Hz (xuống 2 nấc và lên 3 nấc).
Đây là lý do tại sao mà Polling rate cao hơn lại đem lại đường chuột mượt hơn, chính xác hơn và ít bị “nắn” hơn, nhưng xét theo 1 khoảng thời gian dài hơn chu kì 8ms thì nó sẽ không ảnh hưởng gì tới con trỏ cũng như thuật toán (path correction).

FPS (Frames per Second) and Pixel Resolution

FPS (Frames per Second) còn được biết đến với tên gọi khác là RPS (Reports per Second) biểu thị cho số lượng khung hình được IAS (Image Aquisition System) của cảm biến thu thập được trong 1s và được sử dụng nhằm phát hiện cũng như tính toán giá trị chuyển động Δx/Δy của mouse. Số khung hình này thường không có con số chính xác (tùy thuộc vào từng loại cảm biến), thường rơi vào khoảng vài nghìn khung hình. Đối với cảm biến ADNS-3080 của Avago thì số khung hình này vào khoảng 2000-6500, ở phiên bản đầu của cảm biến này thì số khung hình nhỏ nhất rơi vào khoảng 500.
Đối với phương pháp thu thập hình ảnh như Avago áp dụng vào cảm biến, thì mỗi khung hình đều có 1 độ phân giải cố định (pixel resolution hoặc pixel matrix) đối với mỗi loại cảm biến nhất định, nhằm giúp cho việc theo dõi (track) chuyển động của mouse cùng với FPS (frames per second). Đối với những cảm biến được public thì thông số này cũng sẽ được tìm thấy trong datasheet của nsx cung cấp. Ở ADNS-3080, thì cứ mỗi khung hình cảm biến sẽ thu được một ma trận điểm ảnh (pixel matrix) có độ phân giải là 30×30 pixels.

Jitter/Ripple

Jitter, Ripple đều được dùng để nói đến hiện tượng khi xuất hiện bất kì dữ liệu của chuyển động (count units) nào được thu thập bởi cảm biến bị chệch hướng so với vị trí gốc ban đầu, làm cho con trỏ chuột di chuyển một cách rất thất thường. Lỗi này thông thường xảy ra khi mà cảm biến bị đẩy tới giới hạn phản hồi đơn vị đếm (report count units). Như ở mục IV mình có nói tùy từng loại cảm biến mà có từng ma trận điểm ảnh (pixel matrix) khác nhau, và việc phản hồi đơn vị đếm (report count units) phụ thuộc rất nhiều vào ma trận này. Việc nâng mức DPI/CPI lên càng cao càng khiến cho quá trình nội suy (interpolation) của cảm biến càng lớn để cho ra được độ phân giải hay đơn vị đếm (count units) tương ứng, kết quả là càng nhiều “noise” xuất hiện trong quá trình quét bề mặt của cảm biến.
Một con gaming mouse bị hiện tượng này sẽ cho ra những đường vẽ thất thường, dễ nhận thấy được là khi vẽ trên MS Paint. Nếu bạn không biết chắc được chuột của mình có bị hiện tượng này không, thì chỉ cần mở MS Paint lên, chọn pencil tool và vẽ lên mặt page trắng. Nếu mouse bạn sử dụng xuất hiện lỗi này, trong khi bản thân nó trước đây ko bị thì cách tốt nhất là lau sạch lens (thấu kính) bằng khăn đã thấm ẩm nước ấm, kế đến là lau sạch lại mouse pad.
Còn tiếp…
Hãy cho chúng tôi biết cảm nhận của bạn