Bongofish
August 18, 2019, 12:51:32 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: You may have to login twice the first time,  but we don't know why - Erm I mean it's a security thing yeah that's it - security.
 
   Home   Help Search Login Register  
Pages: 1 2 [3]
  Print  
Author Topic: Dracotiq - 12x19" Intuos with 10.5x18.75" LED IPS screen  (Read 29171 times)
Dragon
Full Member
***
Posts: 121



View Profile WWW
« Reply #30 on: January 06, 2012, 01:11:09 AM »

I just found a setting that majorly helps reduce jitter!

Open "Wacom Tablet Properties" from Control Panel or from the Wacom group in your installed programs.

Double click on the picture of the tablet (outlined in red below):


* Data rate adjust.jpg (73.39 KB. 553x602 - viewed 597 times.)


A little dialog pops up (as shown above) that lets you change the tablet mode between "Standard" and "Recognition".  You want to set it to "Standard" which makes the tablet report 100 points each second.  "Recognition" mode makes it report 200 points each second.  In "Standard" mode my jitter around the center of the screen is reduced to a rare wiggle, and jitter at other points is much slower and only 1 pixel in most places.

From what I've read, tablets are supposed to default to "Standard" mode so I'm not sure why mine was set to "Recognition".  I have a 4x5 tablet on another computer that defaulted to recognition.

If you want to confirm what the data rate of your tablet is, click the "About" button in the lower left of the window shown above, then hold the Ctrl key and click the "Diagnose..." button.  The Diagnose dialog comes up in an alternate mode that shows raw values for things and shows the Data Rate in the lower right corner:


* Secret Diagnose.jpg (54.38 KB. 646x442 - viewed 495 times.)


For some reason, the data rate on my 4x5 tablet (shown above) is stuck at 161/162 in Standard mode but on the Dracotiq it shows 100 in Standard mode.

Notice there's also a "Recalibrate" button added to that dialog.  I tried clicking it and it immediately said recalibration was successful.  No idea what that does.

Logged
bernard
Administrator
Hero Member
*****
Posts: 2590


pato mania


View Profile
« Reply #31 on: January 06, 2012, 02:20:15 AM »

Wow! Nice findings! 

4x5 tablet: Isn't this one a WaxBee tablet?  The data rate, I assume, is coming from the original serial tablet which explain why it is stuck.  If we can see the USB command that is behind this, then we can change the same setting on the serial side. 

Maybe we should dump the USB packets while doing the [Recalibrate] -- at least I could see how this command is sent to the tablet. Maybe we would learn something?


Logged
Dragon
Full Member
***
Posts: 121



View Profile WWW
« Reply #32 on: January 06, 2012, 08:09:11 AM »

Having reduced jitter I was gung ho to reduce it further with PowerStrip, but as I flipped through refresh rate after refresh rate, it became clear that it was very hard to tell which rates were improving jitter, if any.  I noticed the "raw" pen position values in the Ctrl-Diagnose dialog were changing with the jitter, so I started trying to watch them, but they change so fast it was impossible to tell much from them, either.

So then I thought of something cool.  I hacked together a console program to watch the values in the Diagnose dialog and display "jitter" statistics:


* WacomJitterMonitor.jpg (98.86 KB. 678x343 - viewed 549 times.)


The above program with source code can be downloaded here.  I'm not sure if I'm handling statistics in the most efficient or accurate way, so if anyone wants to send me improvements, I'll post your updated version.

The way I use the tool is to hold the pen still at the corner of some rectangle in the PowerStrip dialog near the center of the screen.  I look at the 1-second average first.  If it doesn't drop below 20x after a few seconds, I press ctrl-down to move to the next PowerStrip value (whatever value you want to change must have the text cursor in it to do this) and repeat looking at the 1-second average.  If I see a low average jitter I watch it for at least 10 more seconds.  If the 10-second average remains low, I click "Apply" so PowerStrip doesn't change back to a former value, then get 30-seconds of jitter data and write down the PowerStrip settings and the 30-second average jitter if it's a contender for the lowest jitter.

I'm thinking I should just remove the 2 and 3 second averages for the next version because I never look at them.

The best value I found for my system in PowerStrip with "Ultrafine granularity" checked was 64.286 for "Scan rate" (not "Refresh Rate").  Yes, "Ultrafine granularity" is necessary to get the above value to work.  At this value, my average 30-second jitter was around 12x and 1.4y near the center of the screen.  That's at "Standard" data report rate.  With the "Recognition" data report rate, jitter was more like 22x and 4y (though that's from memory - I need to double check).

« Last Edit: January 06, 2012, 11:09:11 PM by Dragon » Logged
Dragon
Full Member
***
Posts: 121



View Profile WWW
« Reply #33 on: January 06, 2012, 11:07:58 PM »

Wow! Nice findings! 

4x5 tablet: Isn't this one a WaxBee tablet?  The data rate, I assume, is coming from the original serial tablet which explain why it is stuck.  If we can see the USB command that is behind this, then we can change the same setting on the serial side. 

Maybe we should dump the USB packets while doing the [Recalibrate] -- at least I could see how this command is sent to the tablet. Maybe we would learn something?

Yep, it's the WaxBee one.  How can I dump the USB packets sent to the tablet while the Wacom driver is communicating normally with the tablet?  I think I'd need the special setup you've got with some sort of USB packet spy.
Logged
bernard
Administrator
Hero Member
*****
Posts: 2590


pato mania


View Profile
« Reply #34 on: January 07, 2012, 12:30:21 AM »

hum..  well, without a USB monitor software, we could maybe try to dump what was received from the USB port in the Teensy, but since it is not in debug mode, there is nowhere to send the data(!!).  (we could dump it to the serial port, but then you need a device listening on that port that redirects to the PC!!

There are quite a few USB monitoring software out there -- lot of them have a free trial period which you could use. I went through many different software trials to have a "longer total period" Smiley  (until I settled on one that I paid: USBTrace from SysNucleus).

Logged
Dragon
Full Member
***
Posts: 121



View Profile WWW
« Reply #35 on: January 07, 2012, 12:37:01 AM »

I did a search for "open source usb packet spy" and found USB Snoopy.  Have you tried it?

EDIT: I found a couple more USB snooping projects, though they all seem to be based on USB Snoopy originally and I think they're all for WinXP or earlier.  But I have a WinXP machine so that's fine.  See USB Snoop 1.8 and 2.0.

Also, I can't believe no comment on my Wacom Jitter Monitor!  Did you miss it?  =)
« Last Edit: January 07, 2012, 12:55:57 AM by Dragon » Logged
bernard
Administrator
Hero Member
*****
Posts: 2590


pato mania


View Profile
« Reply #36 on: January 07, 2012, 02:27:06 AM »

Oh my! your little tool is actually monitoring the text in the Dialog!! I just glanced at the code -- wow! looks like a lot of work in there! This reminds me that I am so happy I stopped doing Win32 programming more than 10 years ago.

I thought it was getting it's values from the hid packets.  (I say that because I have a command line tool that parses a lot of Wacom USB packets coming from a Wacom tablet - in the waxbee download section).  We could adapt it to do the same type of checks you are doing! We would have "packet accuracy" values.

But I suppose your thing is "packet agnostic" which is actually a "good thing" in a way. It is the wacom driver interpretation of the x/y values.
Logged
bernard
Administrator
Hero Member
*****
Posts: 2590


pato mania


View Profile
« Reply #37 on: January 07, 2012, 04:00:45 AM »

I never tried USB Snoopy -- simply because I have a Win64 system. (actually, I tried it, but it never really worked). I tried about a dozen USB tools.
Logged
Dragon
Full Member
***
Posts: 121



View Profile WWW
« Reply #38 on: January 07, 2012, 04:19:38 AM »

But I suppose your thing is "packet agnostic" which is actually a "good thing" in a way. It is the wacom driver interpretation of the x/y values.

The USB pen packets contain values that make no sense to me.  I was emulating them in order to test that an airbrush worked, and I found bizarre things like this reported by the Wacom Diagnostics dialog:
#0x2,0xe0, 0x10,0x00, 0x10,0x00, 0x0,0x27,0x43,0x68, # 41.0mm X, 31.5mm Y (raw X is 0x1000, Y is 0x1000)
#0x2,0xe0, 0x11,0x00, 0x11,0x00, 0x0,0x27,0x43,0x68, # 41.5mm X, 32.0mm Y (X increases by 0.5mm due to +0x100)
#0x2,0xe0, 0x12,0x00, 0x12,0x00, 0x0,0x27,0x43,0x68, # 42.8mm X, 33.3mm Y (X increases by 1.3mm due to +0x100!)
#0x2,0xe0, 0x13,0x00, 0x13,0x00, 0x0,0x27,0x43,0x68, # 44.7mm X, 35.2mm Y
#0x2,0xe0, 0x14,0x00, 0x14,0x00, 0x0,0x27,0x43,0x68, # 47.3mm X, 37.8mm Y
#0x2,0xe0, 0x15,0x00, 0x15,0x00, 0x0,0x27,0x43,0x68, # 49.9mm X, 40.4mm Y

#0x2,0xe0, 0x10,0x00, 0x10,0x00, 0x0,0x27,0x43,0x68, # 41.0mm X, 31.5mm Y
#0x2,0xe0, 0x11,0x00, 0x10,0x00, 0x0,0x27,0x43,0x68, # 41.5mm X, 31.5mm Y
#0x2,0xe0, 0x10,0x00, 0x11,0x00, 0x0,0x27,0x43,0x68, # 41.5mm X, 32.0mm Y
#0x2,0xe0, 0x11,0x00, 0x11,0x00, 0x0,0x27,0x43,0x68, # 42.2mm X, 32.7mm Y
#0x2,0xe0, 0x10,0x00, 0x12,0x00, 0x0,0x27,0x43,0x68, # 42.2mm X, 34.0mm Y (X stays the same mm despite -0x100 X, presumably due to +0x100 Y!)
#0x2,0xe0, 0x11,0x00, 0x12,0x00, 0x0,0x27,0x43,0x68, # 42.2mm X, 35.2mm Y

So it seems like the raw X and Y values are mapped onto some weird shape, maybe the rounded shape of a magnetic field or something, and the driver changes the raw values into a grid.  So measuring jitter with raw values might be more confusing...  or maybe it would be more illuminating.  Either way, I don't think it will be much more precise.
Logged
bernard
Administrator
Hero Member
*****
Posts: 2590


pato mania


View Profile
« Reply #39 on: January 07, 2012, 04:34:05 AM »

so you mean, you are generating those packets and varying the X and Y positions and then look at the diagnostic to see their effect? This is what you are talking about?

How did you come up with  "the rounded shape of a magnetic field" ??  Just looking at the values makes you see that??

I assume you are not in "relative" mode, aren't you? That would explain why both X and Y are always increasing...
Logged
Dragon
Full Member
***
Posts: 121



View Profile WWW
« Reply #40 on: January 07, 2012, 05:32:27 AM »

How did you come up with  "the rounded shape of a magnetic field" ??  Just looking at the values makes you see that??

Because I am The One.  I can see the code that makes up The Matrix.

Actually I'm totally guessing.  All I know is that changing the raw X and Y values does not lead to any obvious pattern in how the X/Y grid values change as displayed by the Wacom driver.  But one possible interpretation could be that X represents a point around an oval and Y represents a particular oval in a set of concentric ovals.  So depending on where X is on the oval, if you reduce X by 0x100 (say, move counter clockwise on an oval) and increase Y by 0x100 (move outward a number of ovals), depending on where X was on the oval, you may end up with the same grid X position in the Wacom driver, which is what one of the data points shows.  Other data points show that by increasing raw X and Y by 0x100 a few times, grid X increases by .5, 1.3, 1.9, 2.6, 2.6, and this is only moving less than an inch on the screen or about 8mm on the small tablet.  This could only be explained by a rather small oval shape, in which case the whole tablet would have to be covered in small ovals.

All the pen position packets I listed were put into a WaxBee template and sent to the Wacom driver via the debug packet playback mechanism.  The "# X=...mm, Y=...mm" comments were added based on the values reported in the Wacom Diagnostics dialog for each packet.

Yes, the pen was in absolute mode, not relative mode.
Logged
bernard
Administrator
Hero Member
*****
Posts: 2590


pato mania


View Profile
« Reply #41 on: January 07, 2012, 09:33:46 AM »

Quote
Actually I'm totally guessing.  All I know is that changing the raw X and Y values does not lead to any obvious pattern in how the X/Y grid values change as displayed by the Wacom driver.  But one possible interpretation could be that X represents a point around an oval and Y represents a particular oval in a set of concentric ovals.  So depending on where X is on the oval, if you reduce X by 0x100 (say, move counter clockwise on an oval) and increase Y by 0x100 (move outward a number of ovals), depending on where X was on the oval, you may end up with the same grid X position in the Wacom driver, which is what one of the data points shows.  Other data points show that by increasing raw X and Y by 0x100 a few times, grid X increases by .5, 1.3, 1.9, 2.6, 2.6, and this is only moving less than an inch on the screen or about 8mm on the small tablet.  This could only be explained by a rather small oval shape, in which case the whole tablet would have to be covered in small ovals.

Tell me what you have been eating/drinking/ingesting?  I think I need this brain "food" too.  Cheesy   No joke, you lost me. I am sure I *can* understand, but not sure I would want to go there.  

What I have found looking at many packets from Wacom products is that stuff are typically very clean and straightforward. (except where technology is limiting like the eraser logic with the analog devices). For example, coordinates really maps to very precise increments physically. like in 2540DPI, incrementing X by 1 really maps to a move of 0.01mm *exactly*. This tells me that I find it strange that packets coordinates would yield weird values.  On the other hand, I would not be surprised if Wacom has a "smoothing" or "anti-jitter" feature built into the driver and maybe comparing single packets to the actual pen x/y position may be a little difficult.  (although, I cannot think of any algorithm that would "make sense" and behave like what you are seeing -- why would this be following an oval shape extravaganza?)

« Last Edit: January 08, 2012, 09:24:32 AM by bernard » Logged
Dragon
Full Member
***
Posts: 121



View Profile WWW
« Reply #42 on: January 07, 2012, 07:04:11 PM »

Maybe position data is encrypted/obfuscated to discourage third party driver development?  Who knows.  Either way, it would take a lot more experimentation to make any sense of it and although I'm curious, I don't really want to spend the time.  Maybe after I retire.  =)
Logged
iurak6868
New Poster
*
Posts: 11


View Profile
« Reply #43 on: February 21, 2012, 02:21:20 AM »

Just wanted to thank you for the detail you put into your thread, it's amazing, I just wish I had your knowledge.
Logged
Pages: 1 2 [3]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!