razer viper ultimate internal pics/technical info - Overclock.net - An Overclocking Community

Forum Jump: 

razer viper ultimate internal pics/technical info

Reply
 
Thread Tools
post #1 of 55 (permalink) Old 10-22-2019, 11:46 PM - Thread Starter
lololol
 
qsxcv's Avatar
 
Join Date: Feb 2014
Posts: 4,285
Rep: 369 (Unique: 152)
razer viper ultimate internal pics/technical info

disclaimer and acknowledgement: Razer_TheFiend from Razer R&D contacted me and sent me this mouse for free for testing.

disclaimer 2: over the last two weeks i have been in contact with TheFiend via email to discuss various aspects of tracking performance. partially as a consequence, some changes and improvements have been made to the firmware. i am currently running a version of the firmware that is still in testing and should be released to the public soon. some of my early replies to this thread discuss issues with older firmware that have since been resolved.

note: this post is mostly done, but i will update it as i learn more from messing around with the mouse/sensor and when there are future firmware updates. although it shares the same physical package, the 3399 is completely different from 3366/3360/3389/whatever, so there's still lots to figure out.

tracking performance

introduction to this topic
Spoiler!


timing accuracy, wired mode
Spoiler!

tl;dr: in wired mode, (1) spi (mcu-sensor) timing has ~50us jitter, which can and should be improved upon. (2) ok you'll have to read the last paragraphs to understand, but 3399 sensor is doing something different from all other sensors and this is probably what "motionsync" is.

timing accuracy, wireless mode
Spoiler!

tl;dr: for the testing firmware that i'm using, viper ultimate in wireless mode actively synchronizes usb polling at the receiver with spi communications in the mouse, which is a very good thing that should eliminate completely 2ms intervals between reports (that appear in mousetester interval plots). for unknown reasons, i still occasionally see 2ms intervals. more testing needed (
edit: it got worse when i was on a video call (over wifi) so i'm fairly sure it's related to wireless interference)


wired vs wireless mousetester plots
Spoiler!


input lag (of tracking, not buttons)
Spoiler!

tl;dr: wired mode is 1ms slower than g pro (3366). wireless mode is 2ms slower than g pro (3366).

checking dpi/resolution
Spoiler!

tl;dr: there is a bug: actual dpi of the mouse = dpi reported in synapse + 50. i expect this to be fixed soon. otherwise my unit has dpi steps accurate to around 1%.

resolution downshifting (for high dpi and low speed)
Spoiler!

tl;dr: don't worry about this unless you use a high dpi (like 4000 or something)

max tracking speed
Spoiler!

tl;dr: it's high enough.

"accel" or "speed-related accuracy variance"
Spoiler!

tl;dr: as expected, not an issue.

switches
will test later. they're optical switches, so in theory they should be perfect.

subjective opinions and comments
0. nice to see that they target low weight but without stupid holes on the outside. also i like how the razer logo is barely visible if the led lighting is turned off.
1. build quality seems good in general. not sure how durable rubber sides are.
2. not a fan of the feel of these switches. it's not exactly pretravel but the switches are too soft before actuation. the click itself (how much motion there is from just before and just after actuation) does not feel deep enough for my liking. i tried to base these observations without regards to the sound of the clicks, by wearing iem's so that i don't hear the switches.

anyway it's possible to get used to these switches after a while, but whenever i go from the viper ultimate to my g pro (3366) i can't help but think to myself: wow g pro switches are so nice...

oh actually, the side buttons on the viper ultimate feel better than the main buttons lol
3. wheel is alright. there's a bit of looseness from the right side of the wheel that goes into the U-shaped notch. encoder's detents are a little too strong for my liking but it should get lighter with use.
4. charging dock is way more convenient than having to plug in a cable
5. the door for the usb dongle is easier to use and lighter than logitech's magnetic door.
the usb dongle is not labelled with anything particularly identifying it as a dongle for the viper ultimate. i have no idea what razer's plans are but if they release another wireless mouse, it's going to be confusing unless they use a different shape or have something more than a faint razer logo on it.

concluding remarks
well, many of us here like to make fun of razer for their rgb lighting, for synapse, and for whatever else razer is known for. this time, not only did they made a more than decent mouse with a new sensor that isn't just the current winner of the dpi wars but also brought along some technical innovations. the mouse and its firmware are not perfect and have room for improvement, and there is a silly dpi bug that remains to be fixed. from my experience at least, their firmware/electronics teams have been very responsive to feedback, so i do expect them to improve things in the coming weeks. i used to think that logitech is the only company concerned with the minutiae of mouse performance. razer certainly has shown that they do as well and in fact the viper ultimate does some things better than logitech's wireless mice.

internal pictures
notes:
torx t6 screws under the 4 main feet. i used a 1mm flat screwdriver to pierce a hole in each foot over the center of the screw. to open up the shell, you also need to release a hook on each side. (unscrew all 4 screws a bit and then gently wedge in a credit card or fingernail or something)
main pcb is held by only 2 screws, even though there is another screw hole under the left switch. this does not appear to be an issue.
kailh mechanical encoder
450mAh lipo battery
Attached Thumbnails
Click image for larger version

Name:	IMG_20191023_000608.jpg
Views:	103
Size:	5.06 MB
ID:	301994  

Click image for larger version

Name:	IMG_20191023_000706.jpg
Views:	94
Size:	5.50 MB
ID:	301996  

Click image for larger version

Name:	IMG_20191023_000810_1.jpg
Views:	97
Size:	3.88 MB
ID:	301998  

Click image for larger version

Name:	IMG_20191023_001049.jpg
Views:	78
Size:	3.88 MB
ID:	302000  

Click image for larger version

Name:	IMG_20191023_001455.jpg
Views:	85
Size:	4.73 MB
ID:	302002  

Click image for larger version

Name:	IMG_20191023_002147.jpg
Views:	77
Size:	3.20 MB
ID:	302004  

Click image for larger version

Name:	IMG_20191023_002448.jpg
Views:	83
Size:	4.18 MB
ID:	302006  

Click image for larger version

Name:	IMG_20191022_235954.jpg
Views:	89
Size:	4.48 MB
ID:	302008  


too busy to check forums as regularly
pm me if i forget to respond

Last edited by qsxcv; 11-03-2019 at 10:05 PM.
qsxcv is offline  
Sponsored Links
Advertisement
 
post #2 of 55 (permalink) Old 10-23-2019, 12:28 AM
New to Overclock.net
 
Zammin's Avatar
 
Join Date: Jul 2018
Posts: 1,120
Rep: 20 (Unique: 8)
Thanks for sharing the pics.

Poking holes in the mouse feet for access to the screws, that is genius lol. Why did I never think to do that. It's so frustrating having to carefully heat the mouse feet every time I take a mouse apart so they can be re-used after removal. This solves that problem.

I'm assuming these little holes have no effect on mouse glide since they were poked inward rather than outward. I might have to try this next time I take apart one of my mice.

Primary System Specs: Lian Li PC-O11 DX - ROG Maximus XI Formula - Watercooled Intel 9900k (4.9Ghz) - Watercooled RTX 2080 Ti FE - G.Skill Trident Z RGB 3200Mhz CL16 32GB - Corsair RM1000i PSU - Samsung 970 EVO 2TB NVME SSD

Secondary System Specs: Fractal Design Define S2 - ROG Maximus X Code - Watercooled Intel 8700k (5Ghz) - Watercooled Strix GTX 1080Ti OC - G.Skill Trident Z RGB 3200Mhz CL16 16GB - Seasonic X-1050W PSU - Intel 600P NVME SSD
Zammin is offline  
post #3 of 55 (permalink) Old 10-23-2019, 03:07 AM - Thread Starter
lololol
 
qsxcv's Avatar
 
Join Date: Feb 2014
Posts: 4,285
Rep: 369 (Unique: 152)
yup it's really the best way. another advantage is that the screws won't fall out, if you use a small screwdriver that doesnt create a big hole.

one tip though: try to push the shell apart (gently) while unscrewing so that the screw doesn't lift up the feet. though even if it does, it's no big deal.

too busy to check forums as regularly
pm me if i forget to respond
qsxcv is offline  
Sponsored Links
Advertisement
 
post #4 of 55 (permalink) Old 10-23-2019, 08:17 AM
New to Overclock.net
 
NDUS's Avatar
 
Join Date: Feb 2017
Posts: 34
Rep: 1 (Unique: 1)
razer has been raving about some "sensor sync" feature where the sensor report is linked to the polling of the mouse or something and this makes for better tracking. does it really do this, it is really better, etc.?
NDUS is offline  
post #5 of 55 (permalink) Old 10-23-2019, 10:58 AM - Thread Starter
lololol
 
qsxcv's Avatar
 
Join Date: Feb 2014
Posts: 4,285
Rep: 369 (Unique: 152)
Quote: Originally Posted by NDUS View Post
razer has been raving about some "sensor sync" feature where the sensor report is linked to the polling of the mouse or something and this makes for better tracking. does it really do this, it is really better, etc.?
i do not understand yet. i'll update the op when i do.
i am still asking TheFiend questions about this right now...


as far as what i do and do not understand right now:


in a wireless mouse, there are 4 things that have (potentially) independent timing:
1. sensor frames
2. sensor <-> mouse mcu communication (via SPI)
3. mouse mcu <-> receiver mcu communication (via the wireless)
4. receiver mcu <-> pc communication (via USB)

ideally the timings of all of these are synchronized. no one has achieved this yet (if you do, you would get plots like https://www.overclock.net/forum/375-...lots-ever.html)

(1) is not something that is easily controlled. (i do have some ideas however)

i assume (2) and (3) are always synchronized: each time the mouse mcu reads data from the sensor, it sends a wireless packet to the receiver.

the timing of (4), usb polls, is stable to a few nanoseconds at most. i have checked this on both desktop and laptop with an oscilloscope probing the usb data wires. (mousetester does not report the timing of usb polls, but the timing of polls plus however long it takes for the operating system to do whatever it does, which can add a considerable amount of jitter)

assuming that (1) and (4) cannot be synchronized, the best one can achieve is that (2), (3), and (4) are synchronized.

this is what the viper ultimate does:

the yellow trace shows (4) and the blue trace shows (2). there is a slow drift indicating that they are not synchronized. but they are quite close and differ by only by some tens of parts per million. for example, if (2) runs at 999.95Hz and (4) runs at 1000.00Hz, this means that there is a 2ms interval in mousetester every 20 seconds.

this is what my diy wireless mouse does:
as can be seen upon zooming in, there is also some drift, but the way i designed things, the receiver occasionally sends timing data to the mouse so that the mouse can correct for this drift. thus, (2) and (4) are synchronized to within a few microseconds. this way, the performance is identical to that of a wired mouse, assuming the wireless packets don't get dropped/corrupted and that the drift is small enough that this correction scheme works.

i'll get some videos of logitech's wireless mice's behavior later. from what i have inferred via mousetester, it won't look good.

too busy to check forums as regularly
pm me if i forget to respond
qsxcv is offline  
post #6 of 55 (permalink) Old 10-23-2019, 11:13 AM
Mouse addict
 
cdcd's Avatar
 
Join Date: Jan 2017
Posts: 591
Rep: 30 (Unique: 22)
Great work, keep it up please. I should have a Viper Ultimate for testing here fairly soon too.

Mice currently owned: Logitech G402/G403/G303/G Pro, Zowie FK1/EC2-A/EC2-B/ZA12, Razer Deathadder 2013/Basilisk, Cooler Master Mastermouse S/MM530/MM520, Roccat Kone Pure Owl-Eye, Dream Machines DM1 Pro S/FPS/DM3 mini, EVGA Torq X3/X5, Ninox Venator, HP Omen 600, Thermaltake Ventus X RGB Optical/Ventus R, Microsoft WMO, Steelseries Rival 310, Nixeus Revel, Ozone Neon M50

Looking to buy and try: Ninox Astrum
cdcd is online now  
post #7 of 55 (permalink) Old 10-23-2019, 11:51 AM
New to Overclock.net
 
TranquilTempest's Avatar
 
Join Date: Aug 2011
Posts: 1,721
Rep: 78 (Unique: 63)
I asked about the motion sync thing on reddit, and got this response:
Quote:
As for motionsync, we played with implementing it on firmware a long time ago, but it penalizes the polling rate from time to time and ends up being objectively worse. The new sensor has hardware implementation which uses the internal SPI clock and yields better end results than a firmware implementation.
It sounds to me like they're using a timer interrupt to read the sensor and trying to make it sound fancy, but that alone won't fix clock drift, so the timer is probably started by a callback function that gets triggered by the USB interrupt.

I wonder how well it handles RF interference. Does it keep sending motion data if it stops receiving the USB timing?


Last edited by TranquilTempest; 10-23-2019 at 12:01 PM.
TranquilTempest is online now  
post #8 of 55 (permalink) Old 10-23-2019, 12:57 PM
New to Overclock.net
 
Crymore13's Avatar
 
Join Date: Jun 2013
Posts: 76
Rep: 2 (Unique: 2)
Quote: Originally Posted by Zammin View Post
Thanks for sharing the pics.

Poking holes in the mouse feet for access to the screws, that is genius lol. Why did I never think to do that. It's so frustrating having to carefully heat the mouse feet every time I take a mouse apart so they can be re-used after removal. This solves that problem.

I'm assuming these little holes have no effect on mouse glide since they were poked inward rather than outward. I might have to try this next time I take apart one of my mice.

One good thing to do before start to unscrew is to press with your fingertip the mouse feet where the hole is, you will see better the hole to make a better crosshair placement to the goal.
Crymore13 is offline  
post #9 of 55 (permalink) Old 10-23-2019, 02:42 PM - Thread Starter
lololol
 
qsxcv's Avatar
 
Join Date: Feb 2014
Posts: 4,285
Rep: 369 (Unique: 152)
Quote: Originally Posted by TranquilTempest View Post
I asked about the motion sync thing on reddit, and got this response:
i can't make sense of what they're actually doing...

the stuff on the razer website
Quote:
With Motion Sync, this intelligent function ensures that the Razer™ Focus+ Optical Sensor has a higher sensor responsiveness. By syncing its signals at the exact intervals your PC extracts information, you’ll get the most current updates of your mouse position for more consistent tracking.
sounds exactly like they're syncing SPI with USB.

for wired mice this is nothing new; logitech has this done perfectly since g502. viper ultimate in wired mode also does this but not as well as logitech's wired mice; there is still tens of microseconds of jitter in the timing of SPI.

for wireless, well so far it looks like my diy thingy is the only mouse that does this.


Quote: Originally Posted by TranquilTempest
It sounds to me like they're using a timer interrupt to read the sensor and trying to make it sound fancy, but that alone won't fix clock drift,
yes that is clearly one thing that is done (it's sort of necessary)

Quote: Originally Posted by TranquilTempest
so the timer is probably started by a callback function that gets triggered by the USB interrupt.
when wireless, the mouse has no usb connection... so it does not know anything about usb unless the receiver sends it info

Quote: Originally Posted by TranquilTempest
I wonder how well it handles RF interference. Does it keep sending motion data if it stops receiving the USB timing?
i don't think it does receive usb timing info.

too busy to check forums as regularly
pm me if i forget to respond

Last edited by qsxcv; 10-23-2019 at 02:47 PM.
qsxcv is offline  
post #10 of 55 (permalink) Old 10-23-2019, 02:59 PM
New to Overclock.net
 
TranquilTempest's Avatar
 
Join Date: Aug 2011
Posts: 1,721
Rep: 78 (Unique: 63)
Quote:
when wireless, the mouse has no usb connection... so it does not know anything about usb unless the receiver sends it info
I think that's exactly what it has to do, otherwise it can't stay synchronized.

TranquilTempest is online now  
Reply

Quick Reply
Message:
Options

Register Now

In order to be able to post messages on the Overclock.net - An Overclocking Community forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.
User Name:
If you do not want to register, fill this field only and the name will be used as user name for your post.
Password
Please enter a password for your user account. Note that passwords are case-sensitive.
Password:
Confirm Password:
Email Address
Please enter a valid email address for yourself.
Email Address:

Log-in



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off