MSI Afterburner integration for Windows Monitor.
This is a work in progress.
I started working on this PR but wanted to be sure you agreed with the approach.
This PR enhances the existing WindowsMonitorService AddOn to leverage MSI Afterburner for GPU statistics.
If the user does not have MSI Afterburner running, the addon will silently disable the additional sensors and continue the same way as the current system.
The addon also automatically supports multiple GPUs:
The addon also collects and reports the current FPS reading (if available), and adds a new CPU temperature monitor to the CPU entity.
The following issues which I would like feedback on:
- I extended the existing WindowsMonitorService as it had a lot of the functionality I needed already.
Would you prefer the functionality extracted into a new AddOn? - ~~The addon requires the embedding of the
MSIAfterburner.NET.dlllibrary.~~
~~This is now handled by ILMerge during build.~~
The addon now natively connects to the MSI Afterburner interface and has no additional dependencies. - There is an issue currently where the MSI Afterburner driver will return 0 for it's
MemAmountproperty, which reduces the number of data points I can measure a bit. - ~~Currently when running as a standalone/debug app the library correctly collects data from MSI Afterburner, however when running as a Windows Service it cannot access the Afterburner Shared Memory.~~
~~I believe this is an issue with the service running in session 0, where as Afterburner is a standard application in the user session.~~
~~I need to do more research on how to work around this.~~
Resolved by implementing additional Monitor Agent receivers.
Edited by Kristian Williams

