-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Too many garbages that can be collected. #294
Comments
Providing synchronous APIs (again) is something I've been wanting to add as well. Currently the question is how to implement it nicely due to Possibly we can multi-target Colore and call and use a dirty version of The native SDK would be possible to use properly sync under both targets of course. Have you or are you able to run tests with the native SDK switched to using |
@pcfulife There's a new branch ( You can also get a NuGet package from the GitHub feed: https://github.com/chroma-sdk/Colore/packages/274021?version=7.0.0-sync-apis0223 |
@Sharparam Oh, Thanks a lot. I will try it. |
@Sharparam It works perfectly even I use .NET Core 3.1 |
Good to hear! The synchronous API should work on all platforms. It's only the synchronous HTTP that would be an issue to get working since there is no good support for that in .NET (when using the new But I reckon people who are using the HTTP API would not be as likely to want a synchronous API anyway. |
Detailed Description
All IChroma APIs are async which creates Task objects. On profiling my app, allocating objects are too many when I turn on Razer Chroma function.
Context
These allocated objects make app stuttering. (Chroma operates at 60 fps)
Possible Implementation
Provide not async but sync version API. Or, making a blocking collection that is used by one thread and enqueue to this.
Thanks.
The text was updated successfully, but these errors were encountered: