-
Notifications
You must be signed in to change notification settings - Fork 22
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
Fixes msvc release. Adds build artifacts so non release exes can be accessed. Reworks installer #89
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a PITA; thanks for dealing with this.
Inside the server plugin constructor, you will see I recently discovered this while working on some of the new broadphase stuff with the update loop I had written there. Utilizing a full core is fine for a video game, but not really for an IDE, especially async event handling. For example, Qt Creator's own clang model plugin doesn't use 100% of a single core while idling, and thus neither should RGM. For that reason, I would like to find some other way to allow the server plugin to receive a regular interrupt from the main Qt event processing. QMetaObject may just be such a solution. |
Read here for further explanation: Basically, I think you can in fact use QTimer with 0ms delay, but you need to make it single shot and then just have it invoke itself again to avoid hogging the CPU. |
Ok, after further discussion with Rusky I finally figured out what we need to do. The last resort is to sleep or set a delay on the We have several ways of solving this problem. We could for example look and see if GRPC has some sort of underlying interrupt outside of Qt's event loop and use that to schedule an update using |
Alright, so I did some more digging while actually trying out the thread solution from Rusky and bumped into some great news. The GRPC devs basically admit that is an issue with integrating GRPC into foreign event loops, and they are currently working on a solution, but for now what Rusky recommended with a thread is the accepted workaround. The underlying issue is actually in GRPC Core which GRPC++ is just sitting on top of. |
No description provided.