My program makes a scene with flying particles based on one idea from one example. I already don't remember where it goes from.
I use OpenTK.GameWindow

And now I have a strange (at least for me) performance problem.

1 case:
The program starts in full screen mode, it works smooth and nice, but after some seconds the CPU load increases and uses permanently one core for 100%. (see picture 1)

2 case:
If I start the program and immediately switch to another window (f.e. task manager) putting the GL-window to work on the background, but still visible behind, it doesn't load CPU, only some percents. (see pictire 2).
I tested it and during many minutes it works constantly with very low CPU load.

The behavior doesn't depend on a number of objects: same for 50 and 5000 particles.

P.S.
I cannot load the code example. It writes me that the spam filter is triggered.
I will try to upload it to a comment.

I'm using Windows 8.1 and actual version of OpenTK (downloaded yesterday).

I tried to copy SDL2.dll to the folder. No effect.

The last example behaves that way. When the full screen mode it makes one core working to the maximum and the hole processor frequency is growing to the maximum.
When I switch task manager to the top, it works on background (like on pictures what I uploaded) and the process take only 0,5% of the core. When I switch back it takes the full core again.
I can switch there and back and the behavior is immediately changing.

Just to make sure I understand correctly, running in a window or in the background uses a normal amount of CPU, but running fullscreen maximizes CPU use. OpenTK doesn't actually do anything different when runningin the background/foreground or windowed/fullscreen (fullscreen is just a maximized, WS_POPUP window), but the OS/drivers might be treating fullscreen windows differently (e.g. bypassing the DWM).

If you are certain that this affects both the native and SDL2 backends (check with OpenTK.Configuration.RunningOnSdl2), then the best approach would be to use a profiler and see where the extra CPU time is consumed. That might be give us an idea of what the problem might be and how to fix it.

(The Need for Speed test is not necessarily representative as it is using Direct3d, not OpenGL.)

When on the screen is only the GL window (normal game mode) and nothing else is shown, one core is used for maximum.
When you use "Alt + Tab" and switch f.e. Task Manager before the GL Window (as on the picture) it works with minimal CPU use.

When running with the SDL2.dll, Configuration.RunningOnSdl2 should return true. The reason why I'm suggesting to try both with and without SDL2, is to help isolate which part of the library is causing the problem: if the issue disappears with SDL2, then we automatically know it is caused by something within OpenTK.Platform.Windows. If the issue is visible with and without SDL2, then it is caused by something in the common code (e.g. OpenTK.GameWindow) or possibly by the GPU drivers.