Designing Your Game to be High-DPI Mouse Friendly: New Esports Players Using 1600-3200dpi+ Settings (non-CS:GO)

Talk to software developers and aspiring geeks. Programming tips. Improve motion fluidity. Reduce input lag. Come Present() yourself!
Post Reply
User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Designing Your Game to be High-DPI Mouse Friendly: New Esports Players Using 1600-3200dpi+ Settings (non-CS:GO)

Post by Chief Blur Buster » 02 Jun 2022, 17:43

Chief Blur Buster wrote:Note -- This thread is partially OUT OF DATE

Still accurate: Game programming hygeine to use improve precision and doubles. So from a game developer perspective, it is still useful information. Also, menus should give easier access to multiple decimal digits of mouse sensitivity, for better UX and easier configuring without needing to manually edit configuration files.

Now out of date: People have found ways to improve CS:GO precision by sticking to certain calculations, e.g. via https://www.mouse-sensitivity.com/ and mouse sensors -- so precision is possible by various tricks including editing configuration files. However, being an old engine, anecdotes are still coming in that it is not as forgiving to a wide variety of mouse settings as newer engines.
History - 400dpi in older engines like CS:GO

This approach used to be more useful back with lower Hz, lower frame rates, and older engines -- especially if you're playing with only one competitive game -- but when frame rates and refresh rates went up, the pollrate and DPI needed to max-out your refresh rate benefit started to exceed the benefits of trying to optimize a low poll rate.

Playing at >240Hz with many newer engines now starts to show more benefits of the "high dpi, high poll, low sensitivity" approaches a lot more clearly, especially if you do at least some occasional eye tracking (part of the time) rather than stare-at-only-crosshairs approaches. It also scales better over multiple roles (e.g. switching in/out of sniper view)

Old mouse sensors were crappy at 1600dpi+ but this is no longer the case today. If you're using a new mouse with a good sensor, a clean mouse pad, clean mouse feet, and one of the newer high-DPI friendly games, you might be at a disadvantage at 400dpi-800dpi especially with newer 500+ Hz monitors

Newer Engines, Newer Sensors, Higher Refresh Rates Start To Change the DPI Calculus

Several newer sensors also make it easier to preserve muscle memory across dpi/poll settings (with proper calibration of sensitivity setting to compensate). A lot of sensors became more opaque on muscle memory of "magic DPI numbers", so it's now usually better to scale to a preferred sensitivity by tilting your DPI:sensitivity setting and train your muscle memory based on a preferred flick speed.

In several new engines, fast flicks at 800dpi/1sens feels much more identical to 3200dpi/0.25sens (scale numbers accordingly) than they did in older engines. 1600dpi has less issues than 800dpi though.

The magic of high DPI occurs during the slower flicks -- where 3200dpi/0.25sens looks much smoother than 800dpi/1sens allowing 4x higher framerate during slow tracking (e.g. like slow sniper sight hunting / tracking) without the coarse step-step feel. Slow mouse pans start to feel TestUFO-smooth rather than grainy steppy-steppy feel.

Low DPI Can Sabotage Frame Rate Of Your Mouseturns / Sniper Scope

If your grainy low-DPI sniper track was 20-50 stepped positions during slow tracking at 60Hz, or even just 100 steppy-steppys at 144Hz, it is not as noticeable as the graininess of the same tracking at 360Hz or 500Hz. You see, if your slowturn at low DPI is causing only 50 different mouse reports per second, that's only 50 frames per second in screen mouseturn panning position updates (mouseturn). 50fps-vs-60fps is not as easy to notice as 50fps-vs-360fps.

Although enemies move at full frame rate at all times, the horizontal/vertical movements (mouse turn, sniper scope) can feel steppy-steppy especially if you're trying to do tiny amounts of tracking (e.g. moving a few pixels at a time).

Many do train to blindly shoot after a flick, using pure muscle memory alone without visual-feel as part of your muscle memory. Then congratulations, you trained on a DPI-independent approach and you can safely increase DPI in Valorant/Fortnite with newer sensors that feels much more same at 400-800-1600-3200 at scaled sensitivities. In this case, Pass GO, collect $200, and adjust your mouse settings a little, retraining for any minor differences. The best sensors in the best hi-DPI aimtrainers (not aimtrainers based on old engines like CS:GO), should feel much more identical (than they used to) at all DPI settings (sensitivity scaled) if your muscle memory was trained differently this way.

But if you're visually tracking, then that's where problems tieing you to 400dpi begin. You've just slightly sabotaged your skill portability to 360Hz-500Hz monitors and newer engines. 240Hz-vs-360Hz is also sometimes sabotaged by low DPI, and can cause people to downgrade to a lower Hz that feels better with low DPI.

The mouse begins to sabotage the Hz of the newer ultra high refresh rate monitor, and those 3200dpi new-engine-only players with new ultra high refresh rate monitors start to take a few points this year, more points next year, and so on, away from a optimized-magic-DPI rig that worked so well in the lower Hz days.

Such optimized 250-500dpi rigs start to be overwhelmed by the other players' refresh rate advantage in a "high poll + high dpi + low sensitivity" approach now recommended with newer game engines (i.e. you're not only playing CS:GO). The players that train with the "high poll + high dpi + low sens" approach starts to produce better results now. The esports champions that are now using 240Hz monitors + 1600dpi are a great example of this.

Obviously higher DPI is more sensitive to weak links (e.g. game engine based, mouse pad based, mouse feet based, mouse sensor based, dirt, etc) so keep things as good as you can if you want the silkiness of high-DPI tracking to "keep up with the refresh rate race".

More Professionals in Esports Recognizing Higher DPI Benefits In Newer Engines

The game engine and its mechanics with high-DPI can vary a lot in the professional leagues -- so sometimes you want to train with settings everyone else is using. If nobody is using 3200dpi in Valorant, then you can still have an advantage with an optimized magic-DPI system. But as more and more players start to migrate DPI usage in games that are friendly to high-DPI, this can change.

It's all over the map, though. On sites like prosettings.net, you see many CS:GO players use still 400dpi but a lot of LoL players use 1600dpi-3200dpi. Almost nobody is using less than 1600dpi in LoL though -- but it's still relatively rare in Valorant (which feels more high-DPI friendly than CS:GO).

Be noted prosettings.net sometimes is more than a year behind for some teams that gave stale data (e.g. pre-Razer-8KHz) so some players have already increased DPI in some FPS games like Valorant and Fortnite, once they finally figured out that those engines are more high-DPI friendly than CS:GO ever was. Far more Fortnite esports teams use ~1000 to ~4000dpi Fortnite than in CS:GO, even though many still stick to 400 & 800.

Low DPI Coarseness Was Visual Cue In Classical Muscle Memory Training
(Especially when refresh rates were lower)

CS:GO has less precise mouse coordinate mathematics than Valorant and Fortnite does. Preserving visual muscle memory from CS:GO can also be a factor (even the steppy steppy feel of low frame rate may be important, like mentally feeling the number of frames clicking during a tiny slew of a sniper scope).

The frame-rounding effect of a low framerate, may be able to snap-to-pixel more precisely on tiny distant enemies, if you've trained your muscle memory visually on the steppy-steppy feel of low DPI. Low DPI is sometimes kinda like ruler if you use the visual frameratefeel of a slow short-distance flick or sniper scope slew, as part of your muscle memory training. In keeping DPI numbers really low in other FPS games, as a matter of habit -- transitioning to Valorant and Fortnite from CS:GO is muscle-memory-easier at 400dpi-vs-400dpi.

CS:GO mousefeel definitely feels more different 400-vs-800-vs-1600 (sensitivity scaled appropriately) than it does in Fortnite/Valorant. The same distance flick doesn't scale as consistently as it does in newer engines with better floating-point mouse mathematics.

Low DPI During Slow Slew (e.g. Sniper) adds More Latency Disadvantage During Competing With 360-to-500Hz Hi-DPI Players

The steppy steppy behavior adds input latency. When you are mouseturning at only 20 kliks (mouse coordinates) a second, you might have 1/20sec latency during your slow sniper slew. Ouch. This is fine for 60Hz with 1/60sec latency when the advantages of the muscle memory benefit of the grainyfeel outweighed the latency of low-DPI. Especially since CS:GO was so ultra-heavily optimized at 400dpi and 800dpi

However, the latency reductions of "high dpi, high poll, low sensitivity" on new ultra high refresh rate monitors, now massively outweigh the old-fashioned muscle memory training technique. If you spent 10 years at 400dpi, it will be tough to transition, especially since 10 years is often longer than most esports careers. But, not everyone fits into this, and can easily re-train.

If your aimtrainer app is based on Source engine (same as CS:GO) then the aimtrainer is possibly only 400-800dpi friendly because it uses the less accurate mouse mathematics of the older Source engine. So you have a training problem too; if you use an aimtrainer to retrain to high DPI, stick to newer aimtrainers that are high-DPI friendly, or use one based off a high-DPI-friendly game engine.

New Players Who Go Straight To Newer Engines (Skipping Old Engines like CS:GO)

But as more new players who's never played CS:GO enter esports directly into newer higher-DPI-friendly engines (Valorant, Fortnite, and others), is more likely to be more comfortable going straight to higher DPI approaches, where the pros can outweigh the cons if your refresh rate is high enough. With refresh rate stratospheres involved, there are additional gaming tactics that benefit from the "high DPI, high pollrate, low sensitivity" approaches.

Also, the longer mouse travel distance required to keep low-DPI approaches low latency, starts to fail against high-DPI players in good-high-DPI-compatible engines, who can physically move their hands only a medium distance (e.g. two inches instead of ten inches) to do their own differently-muscle-memory-trained flick, allowing a frag sooner than the longer flick distances required for low-latency low-DPI.

Other players don't need to retrain for different flick distance. They can easily scale sensitivity settings for exactly the same flick distance at 400-800-1600-3200 (or intermediate numbers like 2000 etc) -- new sensors, clean mouse feet and clean mouse pad lets you do that in newer high-DPI-friendly engines. So less muscle memory concern. So fewer or zero aim-retraining compromises for these players.

Also, real life frame rates and real life snipers don't have the existence of a "coarsefeel" muscle memory training tricks, so are thus more real-life realistic, for real-world shooting versus virtual shooting. Even though Fortnite is fantasy, Valorant is less so, and some games are more shooting-simulator. This can be relevant, since coarsefeel is an artificial muscle memory training trick only enabled by a finite frame rate and a finite refresh rate -- but real life has no frame rate or a low-DPI coarsefeel to train from.

The ever-higher refresh rate however tips the domino of a fence-sitter who's unsure of whether or not to go above 800 dpi, especially if they decide to discontinue playing in any of the legacy engines. If you're already a low-DPI high-sensitivity player, it's easier to transition to high-DPI low-sensitivity, because there is not always enough decimal digits in the sensitivity sliders.

Game Developers: Use 3 Decimal Digits in Sensitivity Sliders For Easier Transition Training

Blur Busters recommends game developers to use at least 3 decimal digits in sensitivity settings, to allow easier division -- e.g. 400dpi @ 1 sensitivity translates to 3200dpi @ 0.125 sensitivity. If you can only choose 0.1 or 0.2 then it's much harder to transition to 3200dpi from 400dpi.

Simple workarounds:
- You can keep your UI simple (0.1 steps), but at least allow your gamer to edit the configuration file to add decimal digits as needed
- You can let users click the sensitivity number to manually edit it, instead of slider the slider.
- Etc.

Please make sure to also additionally QA test your game with 1000dpi-4000dpi+ esports players, who have increased massively in numbers in the last few years. Also recruit newer-blood esports players who's never played CS:GO, for a more accurate vet of your high-DPI friendliness of your engine. You need to test all types of esports players too.

If you are designing or improving your game engine, use double instead of floats for scaled mouse coordinates -- to preserve maximal precision when calculating mouse coordinate mathematics. There are situations where math rounding errors can build up -- with an 8000 Hz poll rate mouse, 8000 math roundoff errors per second of a "float" accumulator instead of "double" accumulator, can spike up to human visible pixel-offset misalignments. Also, performance of doubles is identical to float on most modern computer systems, especially since you're not doing any more than 8000 sets of mouse mathematics per second anyway. It's not like a GPU doing billions of math calculations per second -- you can afford to preserve a double accumulator (not float) for 8000 accurately-microsecond-timestamped mouse deltas per second, that's virtually zero impact on performance -- just cast to a float at the final step if your rendering of new mouseturn position requires floats.

At 60Hz using a 125Hz mouse, fewer mouse math roundoff errors occured. But at 500Hz refresh rate and 8000Hz mouse, especially when multiplied by a sensitivity factor, can generate enough math rounding errors occurs in one second (in floats) to create full-integer pixel misalignments! This can make it worth transitioning your game engine to use doubles for all mouse mathematics. Also keep it as high precision for as long as possible when accumulating mouse coordinate math over a longer time period.

In designing your game engine, keep it sub-pixel accurate between adjacent polls as you can, because it adds up to many pixels of error over a long flick. Many GPU APIs use floats, but you need to keep mouse coordinates accumulated in doubles across a long time period, and only cast-off to floats or integers as needed at the last minute (e.g. passing along to an OpenGL or DirectX API etc). This is part of the reason why 3200dpi works so much better in Valorant/Fornite than it did in CS:GO. We already cover this problem in High Definition Mouse API.

But What About Turbo Mouse Cursors? Any Fix For Too-Fast Cursors?

This is a known problem, so you have to use your mouse profiles or DPI button to lower your DPI when exiting to Windows. If your game involves large amounts of inventory menus, then hopefully you can adjust your pointer speed setting without interfering with the DPI of other things.

Ideally, I recommend 3 separate sets of sensitivity settings for FPS -- a pointer sensitivity setting, a sniper scope sensitivity setting, and a mouseturn sensitivity setting (and X/Y axis where applicable, as some games use separate sensitivity settings for different axes). In some cases, if the newer engine is using rawinput and the pointer is using old mouse APIs, you can use the Windows sensitivity setting (but disable Pointer Precision checkbox). This is safe for certain FPS/RTS games so you can keep your pointer speed unchanged when increasing mouse DPI.

However, older games (like Warcraft with rawinput disabled) didn't use rawinput for mouseturns, so be careful adjusting your pointer sensitivity setting if you have a lot of games installed. Just two years ago, Quake Champions wasn't even using rawinput, but a recent patch has transitioned it to rawinput. If all your games are rawinput-compatible, it becomes safe to adjust the Windows Pointer speed setting in Control Panel to slow down your mouse pointer while increasing DPI -- since it no longer interferes with your mouse turns in games, but helps your mouse pointer in inventory screens, etc.

In the longer term, a future HD Mouse API could fix this problem permanently.

About one-third of the Faze clan now use at least 1000dpi+ in Fortnite!

The old adage that esports athletes never use more than 400dpi-800dpi in FPS is becoming outdated. It was useful for CS:GO (and transitioning from CS:GO) which is super-heavily optimized at 400-800dpi, but newer engines are now high-DPI friendly.

As refresh rates go up, the benefits of using "high dpi, high poll, low sensitivity" starts to exceed other muscle memory training techniques on former coarsefeel techniques that had other issues (e.g. increased latency caused by fewer mouse coordinate reports per second during low dpi approaches).
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: Designing Your Game to be High-DPI Mouse Friendly: New Esports Players Using 1600-3200dpi+ Settings (non-CS:GO)

Post by Chief Blur Buster » 02 Jun 2022, 18:58

Ranking Popular Esports Games Compatibility With 1600+ dpi

As Hz goes up, the importance of software developer math precision on mouse-deltas and mouse-coordinates goes up & importance of precise configurability goes up.

Math precision: Game engine reacts precisely (exactly same engine behavior at 400-800-1600-3200dpi, sensitivity scaled)
Configurability: Easier muscle memory retraining (exactly same fastflick behavior at 400dpi 1.000 sens versus 3200dpi 0.125 sens)

High DPI requires many decimal digits in sensitivity slider

0.125 sensitivity (3 digits) versus 0.12 sensitivity (2 digits).
That's a massive 4% error (0.125 / 0.12)
That is a 40-pixel misaim error at 1000 dots flick
It becomes harder to aimtrain away from 400dpi and 800dpi

That's losing a frag and losing muscle memory. Software developers, the third digit matters a lot when retraining to a new DPI, and possibly a fourth digit may be important down the road!

Valorant: PASS 100%
Riot Games correctly followed software engineering best practices for 500 Hz monitors and 8000 Hz gaming mice. In addition to good subpixel mouse mathematics, it is very easy to transition from 400dpi to 3200dpi -- you just divide sensitivity by exactly 8. The mousefeel differences between DPI settings on a good sensor is much more negligible than older games, and it is easy to transition between different DPI settings while preserving muscle memory. 1.000 sensitivity can become 0.125 sensitivity easily, preserving muscle memory much better on the best new mouse sensors.

Fortnite: FAIL 50% / PASS 50%
While Fortnite properly uses high-precision mouse mathematics -- unfortunately only two digits of sensitivity adjustment is provided, making it hard to transition between DPI settings. This does not scale as well to the 500 Hz refresh rate future with 8000 Hz gaming mice capable of silky-smooth ultra high DPI operation. In the abscence of software developer updates that makes this easier, the player can work around this by retraining their existing 400dpi/800dpi to a more easily divisible sensitivity setting (that can be more easily divided by 2,4,8,16,32) before later raising DPI.

CS:GO: FAIL 100%
Its legacy mouse mathematics creates dramatically different mousefeel at 400-vs-800-vs-1600-vs-3200dpi. Almost nobody likes above 800dpi in CS:GO because it feels wonky due to the math limitations of the old Source engine in the new high-Hz era, at least until Valve fixes the legacy math errors. In addition, sensitivity setting is only 2 decimal digits. We cannot recommend more than 800dpi with legacy Source engine games (including aimtrainers that uses the Source engine).
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

holiday
Posts: 40
Joined: 19 Feb 2019, 11:55

Re: Designing Your Game to be High-DPI Mouse Friendly: New Esports Players Using 1600-3200dpi+ Settings (non-CS:GO)

Post by holiday » 17 Jan 2023, 12:00

That’s explain why csgo and apex feels shaky on 1600 dpi.

So what is the recommend dpi here? I see you wrote 400-800 dpi but now I wonder if just 400 dpi scales or feels correct.

Now i wonder:

https://www.mouse-sensitivity.com/forum ... ment-43748

He refers to this:

"CS:GO: FAIL 100%
Its legacy mouse mathematics creates dramatically different mousefeel at 400-vs-800-vs-1600-vs-3200dpi. Almost nobody likes above 800dpi in CS:GO because it feels wonky due to the math limitations of the old Source engine in the new high-Hz era, at least until Valve fixes the legacy math errors. In addition, sensitivity setting is only 2 decimal digits. We cannot recommend more than 800dpi with legacy Source engine games (including aimtrainers that uses the Source engine)." Source: Chief Blur Buster


"This is just plain wrong, you can set the sensitivity with more decimals in the console or in the config file. There's no math limitations to using high DPI and it does not feel wonky unless there's some kind of hardware issue on your computer with high DPI." Quote: DPI Wizard

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: Designing Your Game to be High-DPI Mouse Friendly: New Esports Players Using 1600-3200dpi+ Settings (non-CS:GO)

Post by Chief Blur Buster » 18 Jan 2023, 22:57

I'd like to crosspost this here.
woland wrote:
18 Jan 2023, 16:52
By the way, it's not true that nobody in CS:GO uses over 800 dpi. For example, Jame uses 25600 dpi, 0.0313 sens (800 edpi), and his team finished #5 in winnings for 2022 and won the Intel Extreme Masters Rio Major 2022. So besides being difficult to configure, what happens if one goes beyond 800 dpi in source-based games?
That's a fantastic anecdote.

With some really good hard-core configuring -- text editing the configuration file for many settings including raw input, ultra-precise sensitivity numbers, etc -- it's possible to make >800dpi usable in CS:GO. But it's not really easy. >800dpi feels simply awful most of the time in CS:GO so I'm pretty impressed he got 25600dpi to work great.

The mouse mathematics inside CS:GO becomes very wonky when you're far away from compensated 800 "edpi", so clearly this gamer found a sweet spot magic 0.0313 sensitivity that eliminted mouse math errors at >800dpi by maintaining 800 edpi. So that's my theory -- the mouse mathematics in CS:GO becomes accurate again at 800 edpi.

It's much how CS:GO goes kinda wonky at >1000fps, concurrently CS:GO also got a sweet spot frame rate range and a sweet spot "edpi" range -- it goes wonky. Mouseturns don't perform consistently across the entire hardware-DPI range at all sensitivity ranges, so the mouse mathematics in the old game aren't as good as the games.

But it's not impossible to fight against it and workaround with magic-number sensitivities that takes some knowledge to calculate.

Keeping it to 800 edpi is definitely key, that preserves training memory (also known as "muscle memory"). Syncing sensitivity across all games is not intuitive to most gamers at oddball DPI;

_____

Now a very deadly serious esports question.

Is there currently any software that can automatically sync "edpi" across all games, and automatically recomputes/recalculates/rewrite configuration files, everytime you change mouse DPI?

Play at 800dpi, exit the game, change your mouse DPI higher and restart the software, no change to your fast flicks. Except your slow flicks improve. Your mouseturns are still the same speed -- except your slowslews (sniper, slow crosshair tracking, and more jitter-free slowturns with unaffected fast flickturns etc) starts to feel massively better at >800dpi.

This would help train gamers on why high DPI is a gigantic boon, if configured properly.

There's a need for such edpi-synchronization software in the esports industry, to break out of the 400dpi-800dpi dregs without wrecking training memories (muscle memory).

Choosing 800edpi in an edpi system tray app while your mouse is at 3200dpi, and seeing all your games automatically sync (configuration files modified by the Automatic EDPI System Tray App, etc) would be a giant boon. No manual calculating, no edpi wizards, no wrecked muscle memories, etc. Perfect sensitivity numbers in all of them.

An automatic edpi configuator would be a good compromise before my proposed High Definition Mouse Extensions API Proposal.

It would need to know how to modify the configuration files of the common games (CS:GO, Fortnite, Valorant, Rocket League, Overwatch, DOTA2, LoL, and other popular esports games) but it would allow 3200dpi+ nirvana in esports on modern mouse sensors without wrecking 800dpi muscle memories (training memory).
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: Designing Your Game to be High-DPI Mouse Friendly: New Esports Players Using 1600-3200dpi+ Settings (non-CS:GO)

Post by Chief Blur Buster » 18 Jan 2023, 23:16

BTW, I registered at the mouse-sensitivity forum and posted this (once Approved by Administrator "DPI Wizard"):
Chief Blur Buster wrote:BTW -- I wanted to add a compliment --  you're one of my favourite sites for calculating correct dpi / edpi / related stuff.

While my specialty is Hz and not mice, let me provide some rationale of my past recommendations, to give better context...

I use DPI Calculator/Analyzer from time to time too, as a quick calculate for some purposes.  Maybe only once every year or every few months, but it's something I'm super glad that exists.  Good job.

Remember, that post was posted a year ago during my early beta testing of Razer 8KHz, of which I was a beta tester of. 

My engineer contact at Razer found issues in some some engines to realize that the mouse mathematics are better in some newer games, though it is only one contributory factor (including, of course, the end user not bothering to configure correctly -- older engines are less forgiving than newer engines, even during configuration file editing for more sensitivity digits).

We've learned more since, if you've read my newer posts -- and I'm already in 25+ peer reviewed papers (purple Research button on website) including cited by NVIDIA, Samsung, NIST.gov, etc.  So, it's pretty clear I know my stuff in a different niche, even if not as well about mouse.  But that doesn't mean we can't collaborate together to (A) find the causes; (B) avoid the math problems; (C) get more esports community to use higher DPI.  Better we work together after all, picking each other's brains on the portions of our skills that we are smartest at.  

I do, however would love to see more peer reviewed papers on mouse edpi.  Maybe a researcher here would love to help co-author?  Clearly, there's fewer good DPI+sensitivity combos in older games, than in newer games.  When I was beta testing the Razer (8KHz), they did some tests and privately discovered bad mouse mathmatics in some games, at least for some DPI+sensitivity combinations. 

If you tow the 800 edpi line with some great manual mouse mathematics, you can prevent a lot of issues and keep everything better sync'd between CS:GO and newer games.   Few do bother to use the DPI analyzer, but let's rightfully pan how unintuitive older games are out-of-the-box for DPI adjustments by people who don't bother to use utilities.  Newer games does oddball DPI and oddball sensitivities better (e.g. 1234dpi at 0.789647 sensitivity or whatever random combo) with less jitter/rounding.

In coding, some of the code uses 'floats' for the mouse mathematics (or worse, integers), while the newer games are more likely to use 'double', and clamp to the final engine's precision after finishing mathing it all out.  It may only be minor differences that are only noticed by seasoned esports players.

Now if one correctly use DPI Calculator/Wizard and similar utilities in a Right Tool For Right Job, a lot of this definitely goes away it appears -- from more recent anecdots.  However, it doesn't make my post utter drivel, given the engineers at Razer had discovered the same thing as well;

While pollrate and dpi are separate, ikeep in mind that pollrate and dpi can interact with each other in unexpected/weird ways.  High pollrate creates CPU fluctuation surges which can create some mouse jitter (polltime:rendertime goes out of sync because game or CPU processed the high poll inefficiently), and mouse jitter dynamics can be affected by it.  Like how you configure a Razer 8KHz at max 8000Hz, and really rip the mouse around, a CPU core gets pegged at 100% and the mouseturns starts weirdly stuttering, and some people (incorrectly) tried to change DPI to fix it.  It changed the jitterfeel, even if it didn't completely solve, so the smoothness-feel in "CPU duress situations" can create some unexpected interactions between pollrate and dpi, depending on how the mouse mathematics in an engine is done.  A perfect system, you keep up to date, and it handles your mouse well, then you probably won't notice a problem -- but not everybody's system is your system.

I'm a C++ and C# coder, and I am shocked how bad the mouse mathematics are in some engines.  It does appear though, that you can kinda tweak your way to some good combinations that feels good, by using utilities such as DPI wizard.

While I'm a bigger expert in Hz than mouse, not all FPS players are computer coders and have seen what I've seen...  It may not affect aim if you configure edpi correctly, but if you use oddball numbers, like randomly sliding sensitivity sliders, or using oddball DPI in existing mouse utilities -- then the math errors adds up (e.g. mouse sensor interpolation, mouse driver smoothing, game rounding errors, etc) -- the whole chain.  It's all very poorly researched, but problems definitely exist, with suboptimal configurations.

It takes less work with newer engines to keep the chain 'math clean', but DPI wizard is a great way to mitigate this and not notice any math problem.  So this is probably just a simple case of "I'm right too, and you're right too", in a non-mutually-exclusive manner -- depending on the settings.  Knowledge can certainly be improved, though!

Thoughts are also welcome on the High Definition Mouse API Proposal, too!

(P.S. Sorry I write big texts.  I wish I could do YouTube and shorter stuff, but I am born deaf, and walls of text are my thing.  But many of my fans love them!  It's my hallmark to stop the 30fps-vs-60fps laughing over the years.)
In addition, because some people have found solutions:
Chief Blur Buster wrote:Note -- This thread is partially OUT OF DATE

Still accurate: Game programming hygeine to use improve precision and doubles. So from a game developer perspective, it is still useful information. Also, menus should give easier access to multiple decimal digits of mouse sensitivity, for better UX and easier configuring without needing to manually edit configuration files.

Now out of date: People have found ways to improve CS:GO precision by sticking to certain calculations, e.g. via https://www.mouse-sensitivity.com/ and mouse sensors -- so precision is possible by various tricks including editing configuration files. However, being an old engine, anecdotes are still coming in that it is not as forgiving to a wide variety of mouse settings as newer engines.
However, the programming best practices (using doubles, adding more decimal digits to sensitivity) still applies here. Game companies, please keep using doubles (not floats) for intermediate mouse math before downconverting to floats (Vulkan API) and use proper mouse time / mouse delta accumulators so future frame rates in the same game doesn't amplify math rounding errors -- e.g. you don't want 1000fps to create 1000 math rounding errors per second.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Post Reply