Skip to content
This repository has been archived by the owner on Jan 1, 2024. It is now read-only.

[TODO] Replace Nefarius.Utilities.DeviceManagement library #3085

Closed
Ryochan7 opened this issue Sep 16, 2023 · 3 comments
Closed

[TODO] Replace Nefarius.Utilities.DeviceManagement library #3085

Ryochan7 opened this issue Sep 16, 2023 · 3 comments

Comments

@Ryochan7
Copy link
Owner

Ryochan7 commented Sep 16, 2023

Made a major concession by including an AnyCPU library so a virtual device check pull request could be merged. I ended up having to change a couple of small portions of the library project in order to get performance more in line with what I wanted anyway. Really should have just rejected that pull request then as it did not conform to my coding standards. I do not want to have to keep rebasing code changes and trying to keep my customizations in line with upstream while that project still exists; there is no way said changes would ever be merged upstream.

There is a lot of bloat to that library for what little functionality DS4Windows actually uses. The virtual device check is also being used in DS4MapperTest as I do emulate a DS4 controller for some games with that program as well. In that case, it might be better to create a small utility class library to share between the projects but I will probably not end up doing that.

Also, going to have to double check performance without having the library linked out of curiosity. I just will not be able to emulate a DS4 controller while testing.

Reference pull request:
#2538

@Ryochan7
Copy link
Owner Author

Just tried out the latest upstream library for testing. It is outright unusable. Horribly slow.

@Ryochan7
Copy link
Owner Author

Got around to testing more last night. I tested removing the library dependency from DS4Windows to see how the program ran without it. Obviously some code that required the library had to be commented out.

Anyway, the program runs slightly better without the custom library linked. Not that big of a deal overall. Although, like I mentioned before, the vanilla version of the current upstream library is unusable. It is not worth the trouble to upkeep a customized version of the library especially since the current vanilla library is much worse than the older versions.

I have a draft of the virtual device check routine re-implemented. Still tweaking methods a bit. The draft still mainly relies on using the SetupAPI for obtaining interface properties.

@Ryochan7
Copy link
Owner Author

Good enough

e1a1695

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant