I am working on a program that creates interactive charts. However, the following problem occurs even if the rendering layer of the program is disabled.
On some screens of my application, in accordance with the Visual Studio 2015 diagnostic tools, GC runs about 4 times per second, which reduces the performance of my application (from 120 frames per second to 15 frames per second).
I took some snapshots, expecting to see unexpected allocations, but according to the snapshots, there are only one or two allocations and the System.Internal.HandleCollector + HandleType collections every few seconds, which seems normal even if the problem is not Running.
Some other things that I noticed:
- This happens on several machines.
- This happens with or without a debugger application.
- Most of the processor time of the application is in clr.dll.
- The reason for each GC run is indicated as a “Pile of Small Objects Distribution”, even if there are no observed distributions in snapshots.
At this moment I am at a standstill. Has anyone seen this happen or do you know where I should start debugging?
source share