Software
Much like most other recent Cooler Master releases, the MM311 is compatible with MasterPlus+, which is also referred to as MasterPlus, but not to be confused with MasterPlus, which is older and incompatible with the MM311. There are separate pages for buttons, performance, macros, and profiles. All buttons except the left main button can be rebound, either to mouse, keyboard, macro, media, or OS functions. Additionally, Mouse Combo allows one to assign further functions accessible upon pressing a dedicated shift button. CPI adjustment is possible for up to seven levels and at a range from 200 to 10,000 (interpolated past 5000), along with the option to adjust x and y-axis values separately. Further settings include polling rate adjustment (125, 250, 500, or 1000 Hz) and angle snapping (on/off). Furthermore, button response time can be adjusted from 1 to 6 ms.
All settings are updated live and saved to the on-board memory, so the software does not need to be running (or be installed) all the time. On my system, the software has a RAM footprint of around 440 MB on average when running in the foreground, which doesn't change when minimized to the system tray. Upon exiting the application, a single process with a RAM footprint of 5 MB keeps running.
Battery Life
Cooler Master states a battery life of 115 hours on a single AA-battery charge. MasterPlus+ includes a battery level indicator, though it lacks any kind of differentiation, be it bars or a percentage that would allow one to gauge anything. Eyeballing the battery indicator, it seemingly didn't move at all after 9 hours of continuous use, so I'm unable to give any sort of estimate. For what it's worth, it seems curious that there is a percentage-based slider Low Power Mode works off, yet no percentage-based battery indicator.
After a couple seconds of inactivity, the MM311 enters a rest mode, from which the mouse can be woken up by motion or clicking a button. By default, the MM311 enters sleep mode after five minutes of inactivity, waking up from which takes significantly longer. This value can be changed within the software.