Question
While working in Rider IDE, the CPU usage becomes high and/or IDE becomes noticeably slow. How to troubleshoot such an issue?
Answer
It is worth noting Rider IDE is split into two mandatory processes:
- backend (Win:
Rider.Backend.exe, MacOS/Linux:Rider.Backend) - a .NET-based application responsible for things like code analysis, refactorings, styling, C#/C++/F#/VB completion and language support, etc..; - frontend (Win:
rider64.exe, MacOS/Linux:rider) - a JVM-based application mostly responsible for the UI and user interactions with the UI. Also, the rest programming languages support is implemented on the frontend part (JS/TS, SQL, HTML&CSS, Shell scripts, JSON, Markdown and more), etc..
First, it is necessary to narrow down which process causes the problem.
High CPU Usage
The problematic process can be discovered using the system process monitor (Task Manager/Activity Monitor/System Monitor). See which process consumes CPU the most.
Rider is slow or stuck
Use the following criteria to determine the problematic process:
The problematic process is the Frontend (rider64 or rider) if any of these symptoms are presented:
- The UI itself is laggy and slow to response. Example:
- Clicking a menu item (File/Edit/Navigate/View...) takes several seconds before menu items appear in the dropdown list;
- Right-clicking any element on the screen (a node in the solution explorer, any tool window icon, an empty space anywhere on in the Rider window) takes several seconds until context menus appear;
- Clicking an element in any tree/list takes seconds for the item to get the selection highlighting (background change);
- UI freezes for seconds showing the
Escape to cancel, Ctrl+D to dump threadsmessage (orCommand-D) OR without showing the message, while just being totally unresponsive for some intervals; - Typing lag: delay between pressing the key on a keyboard and symbol appearance on the screen;
- Completion lag: delay between symbol appearance on the screen and completion list load (for NON C#/C++/F#/VB languages, e.g. js/json/markdown);
The problematic process is the Backend (Rider.Backend.exe or Rider.Backend) if any of these symptoms are presented:
- Attempting to invoke an action in the editor (refactoring/quiick-fix) causes the
Getting the Action ready. Press Esc to cancel, so that the action is invoked with a noticeable delay or isn't invoked at all. - Completion lag: delay between symbol appearance on the screen and completion list load (for C#/C++/F#/VB languages);
- Hovering over a symbol doesn't show a quick documentation tooltip, or it shows with a noticeable delay. It takes longer than defined in Settings | Editor | General | Code Completion | Popup | Show the documentation popup (for C#/C++/F#/VB languages);
- Rider UI is responsive (Menu works, tool windows open and close fine, opening other files work);
Comments
0 comments
Please sign in to leave a comment.