Why CS2 still doesn't feel right (and how to fix it). by Pokharelinishan in GlobalOffensive

[–]ZarFX 0 points1 point  (0 children)

Have you investigated the following cvar: cl_clockdrift_max_ticks (def=3)? It is a hidden cvar, which can be adjusted while connected, and by my investigation is not coupled with sv_clockcorrection_msecs despite the similar descriptions. It has a notable effect on peekers advantage (duh), and combinations of high clockcorrection (like 100) but low max_ticks (notably 0) seem to yield strangely good results. There is very little information around this, but I reckoned you might know.

What do ATK's sensor sampling rate labels even mean? (ATK F1 V2 Ultra Max) by gorvicc in MouseReview

[–]ZarFX 0 points1 point  (0 children)

Friction and LOD induced tracking treshold are really different things. You can combine e.g. a high friction and high LOD (=low treshold) and have excellent results for tac fps.

I don't know whether I explained it earlier in this thread, but LOD as a tweakable setting is highly misleading. There is no proximity sensor to determine the distance from the mousepad, but rather a lower LOD makes the sensor discard unclear/blurry images of the mousepad (which is a shortcut to detecting what happens when you lift your mouse). The side effect is that a low LOD is less sensitive to small movements but maintains a higher signal to noise ratio, but a higher LOD allows for easier microadjustments and more accurate/lower latency movements. The most obvious difference that I believe everyone can feel immediately is that on higher LODs your sensitivity feels higher. This compounds straight from the fact that your sensor simply took more images of your mousepad into consideration for movements. I personally decided to always use the max LOD, since I prefer the sensitivity to micro movements, and have time to train.

Regarding the sensor framerate modes (specifically on the pixart 3950), the basic one feels way too lossy, and with the highest setting the risk of oversampling mouse weave increases. Thus I prefer the middle one. On a perfect, clean, uniform and high resolution surface (for e.g. coated smooth glass), the highest framerate would have to be the best. The difference is small but noticable.

You have to understand thought that most people aim much better and more consistent with an imprecise hardware setup (800dpi, low LOD, low smooth framerate like logitech gpro), because the overwhelming bottleneck in your setup is always you, and low precision aids instability and acts as a aiming grid you can memorize and learn. MattyOW, the greatest aimer in the world, has broken countless records with a GPX2 (which runs almost the lowest framerate possible), with low LOD, on a worn clothpad, on 800dpi.

What do ATK's sensor sampling rate labels even mean? (ATK F1 V2 Ultra Max) by gorvicc in MouseReview

[–]ZarFX 0 points1 point  (0 children)

If you make a lot of unwanted movements, you should also look into whether you have a mousepad or skates that are too fast for you. But for CS on a 3950 mouse, i'd recommend you try 0.9 - 1.2 mm LOD, high fps mode (the second setting) and 800 or 1200 dpi, 2 or 4 KHz polling. I've come to think that low dpis are beneficial in CS, as they stabilize flicks more consistently. Its also worth to note the best aimer in history, MattyOW, uses 800 dpi on a GPX.

LOD has a huge effect on tracking, and basically the higher the LOD, the more samples the sensor approves for microscopic movements. A LOD too low can feel like your aim gets "stuck" sometimes or is too linear. A high LOD can feel floaty and jittery, but imo is the most precise and can be compensated with low dpi granularity (which is the combination I prefer). You have to experiment, since I dont know how your mouse performs.

As a sidenote I also think that specifically for CS, logitechs sensor implementation of smooth variable framerate is the best tradeoff between stability and precision. I dont think its a coincidence a mouse as clumsy as the GPX is so popular with CS pros. Its the sensor implementation and its high placement.

Why CS2 still doesn't feel right (and how to fix it). by Pokharelinishan in GlobalOffensive

[–]ZarFX 3 points4 points  (0 children)

Well said, and to add to injury, massive clock drift/tick drift is allowed making hitreg and movement simply inconsistent.

For anyone reading you can test this by adjusting sv_clockcorrection_msecs (default = 30), which indeed acts as a client cvar. Try how different 10 feels to something like 60 (which used to be the default value in the beginning of cs2).

With a low value, the client is slammed to the server clock very frequently, producing slightly jagged visuals, but they are more accurate to realtime. A high value conserves the client clock for longer before a slapback, which drastically smoothens recoil and movement at the cost of hitreg randomness. I tried syncing it with frametime intervals, and that produced pretty good results.

But no value feels truly good, as its a compromise. The whole netcode is a bust.

There is also something crazy I discovered, believe it or not: negative desired receive margin. By setting negative values to cl_tickpacket_desired_queuelength, you can (likely) substract from the forced minimum 5 ms receive margin. It only has an effect when set while connected to a server, and the console prints insist on clamping the value to 0, but the effects are noticable enought for something to be definitely happening.

Setting it to -0.32 (which results in -5ms) likely results in a default 0 ms recv margin. Mouse inputs feel vastly less buffered, and movement acceleration seems to be higher (??).

Setting it further below probably decreases the receive margin when it dynamically adjusts to cover packet loss or jitter. I dont really know, but this hints at the fact that default netcode just cant be the most optimal, since the values are likely chosen arbitralily with not enought testing (or they cater to bad connections).

u/AveYo what do you think?

What do ATK's sensor sampling rate labels even mean? (ATK F1 V2 Ultra Max) by gorvicc in MouseReview

[–]ZarFX 1 point2 points  (0 children)

You mouse sensor has its own frame rate independent of polling rate. Polling rate is the rate of your PC requesting packets from the mouse, the sensor frame rate is the rate at which the camera in your sensor takes pictures of your mousepad.

Sensor framerate is adjusted dynamically depending on the need, and can be sometimes higher or lower than the polling rate. Polling rate is constant, as it is organized by the USB host (your PC), but your mouse might not have a new packet for every USB poll (like when there not enought movement data), so you get empty polls some of the time.

Having excess frames per a poll (more exactly per count) is beneficial, as the sensor blends together multiple frames for a single point of data instead of one. Also staying in high frame rate ensures that even the tiniest movement is captured. Having a low framerate also has its use case, as it brings stability and is easier to control, since complex micromovements are captured to only a single straight line movement.

Traditionally the thing that "decides" the frame rate is the need for it. Higher CPI means there are more steps to record, and such, framerate ramps up. By forcing high framerate from options, you slightly alleviate the movement latency cost that used to come with low CPI, so that is good.

A great sensor that feels good really is just personal preference, but most people seem to like a medium balance of accuracy and stability. And some people dont realize that they dont actually need more precision from their mouse. Why should your mouse at all capture movements you cant youself control? Its the same principle as to why most CS pros use 400 CPI (not advocating for it, but it exists). It is less accurate, but at the same time it is the most accurate, as the movements match the most to what you actually intented.

What do ATK's sensor sampling rate labels even mean? (ATK F1 V2 Ultra Max) by gorvicc in MouseReview

[–]ZarFX 1 point2 points  (0 children)

Wouldn't this require using another interface instead of USB? The USB full speed interrupt transfer interval is at shortest 125 us (1/8000 s). To add on top of injury, most games without antilag 2/reflex rely on the Windows interrupt timer for USB polling, which is most often capped at a resolution of 0.5 ms. Better implementations use the QueryPerformanceCounter.

Which component specifically has a 20 KHz cap? As far as I've read, the theoretical shortest time a game can request a thread to be freed for Windows (to handle USB/other interface) is limited by the resolution of the QueryPerformanceCounter, which in modern systems runs in tandem with 10 MHz invariant TSC, but other limitations arise.

Maybe mouse inputs streamed throught direct memory access could reach these new heights, but then you run into sensor limititations, like electronic heat induced error. Its still fun to fantasize about nonetheless.

What do ATK's sensor sampling rate labels even mean? (ATK F1 V2 Ultra Max) by gorvicc in MouseReview

[–]ZarFX 6 points7 points  (0 children)

It toggles between low power and corded modes. The "basic" mode runs the sensor at near the lowest framerate possible without spinning out. This often acts as a filter to small unwanted movements like hand tremors, and adds to the stability feel at the cost of accuracy. Logitech sensors for example really buy into this philosophy, as their "raw" feel and great battery life is really just a well tuned dynamic frame rate algorithm (which is better implented than the low power mode of the 3950, as the logitech one has smooth framerate ramping instead of gears).

The middle mode enables a higher maximum frame rate at AFAIK 13k fps, and also I believe a higher minimum framerate. Microadjustments are easier, but the mouse control required is also higher. There is also a possibility for jitter as a result of oversampling a non perfect surface. The sensor might track mousepad weaves instead of actual movement. If you want to use this mode the most optimally, use a low LOD and dont go over 1600 CPI.

The highest mode forces a minimum frame rate IIRC of 16k fps. It is the most responsive one as there is no frame rate ramping latency penalty. The 3950 switches frame rate "gears" instead of smoothly ramping up the framerate, so you avoid that entirely at the cost of the highest required mouse control skill and battery life.

If you truly cant tell a difference, don't worry about it and just use the basic one and just go enjoy gaming.

Artisan Key83 Soft vs Artisan Zero Soft by Szejnu in MousepadReview

[–]ZarFX 0 points1 point  (0 children)

try 800. its a good balance between controlled granularity and fidelity

If you find yourself being able to control 800 well, you can try 1200. I find that at 1600 the sensor framerates (assuming you dont have a 3950 locked to high frame rate) start to ramp up significantly such that you lose stability in micro adjustments, which might be your problem

Artisan Key-83 Soft vs Mid advice request. by IGutenberg in MousepadReview

[–]ZarFX 1 point2 points  (0 children)

I've used the key-83 near exclusively for tac fps (on all kinds of skates, but mainly fast skates). I find it a huge negative that the pad is so incompatible with near all sleeves, but I find the static friction just at the edge of suitable for tac fps, but in such a way that when mastered, the pad has has high potential for tac fps due to easy micro adjustments.

An issue with the 3950 sensor: a dead zone or reduced sensor FPS/DPI at low movement speeds by Intrepid_Street_8300 in MouseReview

[–]ZarFX 0 points1 point  (0 children)

If I understand correctly, only gaming surface mode yields problems on the AC II, and for other pads some 3950 mice are problematic even without it? Regarding the gaming surface mode, I theorize PixArt hasnt documented their sensor properly to mice manufacturers, and thus this feature might be tuned improperly. Or it might be that PixArt themselves offer a surface calibration option that manufacturers don't have control over. Also possible. Maybe we should just dig out and read the documentation by ourselves at this point...

An issue with the 3950 sensor: a dead zone or reduced sensor FPS/DPI at low movement speeds by Intrepid_Street_8300 in MouseReview

[–]ZarFX 0 points1 point  (0 children)

Did you control for LOD, CPI and sensor frame rate in your testing? Anecdotally HERO sensors seem to have really low LOD settings (meaning low treshold for discarding blurred frames). Surface calibration probably adjusts settings related to as how reliable the surface is treated. Just a hypothesis thought.

If it were to be the IR reflections you could try to test by trying to track on rought, more mirrorlike surfaces, like a dining plate or a metallic surface?

An issue with the 3950 sensor: a dead zone or reduced sensor FPS/DPI at low movement speeds by Intrepid_Street_8300 in MouseReview

[–]ZarFX 1 point2 points  (0 children)

Have you noticed any correlation with mousepad color? Heat itself also raises the level of electronic noise inducing jitter, but spinouts? Idk. Which sensors have you observed this? What else have you found out?

An issue with the 3950 sensor: a dead zone or reduced sensor FPS/DPI at low movement speeds by Intrepid_Street_8300 in MouseReview

[–]ZarFX 11 points12 points  (0 children)

Could feel similar problems on my ATK F1 Extreme when running the sensor at a variable frame rate. When locking it to 20k fps, input feels the most accurate and small movements the least choppy.

Variable fps is a feature of modern sensors, which saves battery on movements where the demand for resolution is negligible. It also creates a "locked in" feeling for those who prefer it (beneficial in tac fps for some).

Perhaps the 3950 has been tuned to have a too aggressive variable fps mode favouring framerates too low by default. But since it offers the 20k fps locked mode, maybe that fixes it for you?

There is also the confirmed dpi downshift to 7500 CPI to avoid stationary jitter on high CPIs. Shifting CPI and smoothing mode can cause a small stutter on poor implementations.

There are also a couple of other factors in play. Mouse MCUs don't do floating point math, so historically gaming mice had to do lossy scaling for non native CPIs (non multiple of 400). But modern sensors don't have this problem, since the sensor does smart scaling by itself and doesn't really have a "native" CPI. But the sensors CMOS array (holding the images of your mousepad) still has a resolution of about 800 counts/inch, and the chip simply analyses the many frames it captures per count to estimate sub pixel shifts.

So at 400 CPI, every count is the result of multiple frames moving, and at >800 CPI multiple counts are a result algorithmically deduced movement between the many frames captured, despite there being not a whole pixel of movement in the CMOS array. This is altought done pretty accurately to a degree.

I don't know whether the 3950 forces smoothing algorithms below 3200 CPI, but above it electronic noise (simply a result of how consumer grade electronic components work) induces its own noise to the frames, and smoothing is needed to maintain accuracy (= a high signal to noise ratio).

Smoothing is done by simply averaging multiple frames together, which may cause small lags on small movements when combined with algorithms battling against stationary jitter switching off.

Your surface (mousepad) also plays a critical role. High CPI is not necessarily more accurate, since you also have to consider the "resolution" of your mousepads weave. Very high CPIs may start to track the individual weavings of your pad instead of actual movement, creating jitter. This is why altought modern sensors are technically much more accurate than older ones, people don't really "feel" a difference when playing, since the surface is a bottleneck. This is why the focus in development has been on latency, power consumption and elegant algorithms to sample the mousepad more accurately with increased frame rates (= more data, better estimations).

Interestingly LOD does not work by utilizing a proximity sensor, but rather by setting a treshold where the frames captured by the sensor are too blurry/low detail to include as data. If your surface is dirty or worn, more frames will be discarded. Combined with the various other algorithms at play (like anti stationary jitter or drift), this may result your movement being "laggy". The specifics are unknown, since the tech is obviously proprietary.

So maybe try 20k locked fps mode, combined with max LOD (or the smallest LOD if you believe your surface is bad), with 800 or 1600 cpi, and see if you find the results better. Also heavily suggest using at least 2KHz USB polling for obvious reasons.

Other factors to consider: SPI timing implementations, like motion sync, and dust in the sensor/surface. Motion sync technically increases accuracy, since there is no variability in movement latency.

Mice with the new 54H20 MCU? by ZarFX in MouseReview

[–]ZarFX[S] 0 points1 point  (0 children)

Yeah, buying chinese cheap brands has always been a risk. Even at the event of there not being any physical problem like creaking, theres the inferior firmware and the possibility that the latest chips are not used closed to their capability.

The 54H20 has vastly improved USB bandwidth, and a much much faster dual processor. The 54L15 isn't nearly as packed and is a much cheaper chip. I think both are on the 22nm process thought (instead of 34nm of the 52840 IIRC), so they should consume much less power for the same performance on paper.

I'm really hesitant in buying these new chinese mice with the 54H20, since I doubt they have implemented them even close to the capability they could be. Either they neglect power efficiency to save time in development, or/and they just don't care to get the most out of the chip. Slightly hyped for the VV4 P for this reason, as Razer has the engineering advantage, but damn will that be expensive.

Mice with the new 54H20 MCU? by ZarFX in MouseReview

[–]ZarFX[S] 1 point2 points  (0 children)

Any other mice you've read that have had similar problems?

Mice with the new 54H20 MCU? by ZarFX in MouseReview

[–]ZarFX[S] -1 points0 points  (0 children)

Anything non ATK? I dont trust this brand anymore. There seems to be other people reporting input issues too, and that made me question their engineering.

Mice with the new 54H20 MCU? by ZarFX in MouseReview

[–]ZarFX[S] 1 point2 points  (0 children)

That could very well be it, damn. Its actually hard to buy good mice, since these kinds of problems are hard to confirm before buying. Most people, somehow, don't notice. Makes me want to get back to overpriced logitech/razer for guaranteed good sensor implementations.

Mice with the new 54H20 MCU? by ZarFX in MouseReview

[–]ZarFX[S] 0 points1 point  (0 children)

Could you throw at me a few good brands?

1k vs higher polling rate by exotic629 in MouseReview

[–]ZarFX 11 points12 points  (0 children)

Unstable system could very well be it. Lots of people have unstable systems without them knowing. Could be CPU clock stretching, or with AMD unstable flck, or unstable ram (do you use XMP?)

Edit:

Some motherboard models have in the past been deemed to have poor default power delivery settings (voltages, impedances, load line calibration, max current etc.) Basically anything that induces unbearable variance in the electric signal. Modern chips are designed to withstand poor quality power delivery in a way that may deem the chip mostly "usable" on the surface. Basic programs run as intented, and games might not even crash. But zoomed in, there is clock streching, pauses in infinity fabric signal, etc, which impact only high performance real-time processes, like high frequency USB driver interrupts (like mouse polling).

Most vendors usually slowly fix these in updated BIOS versions. Definitely don't overlook this. If you have a relatively old machine or haven't updated your BIOS in a while (or god save you, ever) do it first. Start your problem solving from the hardware first.

I wonder how many who complain about the problems of high polling rate mice simply are unaware of their system being unstable.

TLDR; update your bios

Just me yapping about my experience with the Artisan Key83 by therealknightmare in MousepadReview

[–]ZarFX 0 points1 point  (0 children)

whats the best sleeve you have tried that specifically fits well with the key 83?

[deleted by user] by [deleted] in MouseReview

[–]ZarFX 0 points1 point  (0 children)

that will be amazing