According to Godot, the game is running at 60 fps. But I see this in the profiler, and the game jitters like hell.

I did everything I could think of. changed the physics fps, used forced fps, turned vsync off, used physics interpolation, changed the refresh rate of my monitor, But none of them fixed it.
The game isn't very resource intensive, all textures are 32x32, and I also tested it with post processing effects turned off.

If you know what's going on, please help me. Thanks.
I'm using Godot 3.5

Update: The game is 3D. The models are low poly. There are around 10 materials. I also looked at the profiler and the scripts aren't the cause, and they are also not doing anything fancy.
It ran fine on my old laptop (which is weaker)

But I found out something. I made the game more graphically demanding, and the fancier the graphics are, the less stuttering I get.

    InwardCartoon22 First of all, FPS is an averaged value, what you see in the graph is frame time.

    Second, you should also enable process time and physics time as well and see how all of these relate to each other. This might well be cpu related bottleneck, perhaps caused by your own code.

    There should be some fluctuation, but that doesn't look normal. But it's hard to say without more information. This is a 2D or 3D game? How intensive is it (poly count, draw count, material count, etc.). Are you doing anything fancy with the scripts?

    Some proper gameplay footage at the exact point this jittering starts would be very helpful.

    ...It's not the code, it's the process time...

    The process time relates to any/all code that runs in _process()

    But I found out something. I made the game more graphically demanding, and the fancier the graphics are, the less stuttering I get.

    100% indicative of CPU bottleneck then.

      Fix it is the wrong term, but increasing resolution will increase the gpu workload yes - thus alleviating the cpu bottleneck a bit.

      For best effect you might want to do both, increase graphical workload a bit and figure out what is spending so much cpu time. It could well be something simple like you have too many small scripts activating _process() on nodes where instead you could have moved all the logic into a single parent node of a scene/hierarchy to save on processing.

      Assuming however that you are early in your project, it's likely you don't need to worry about optimizing too much yet. Perhaps the gpu isn't under load yet because most assets you have in the game are just placeholders for now. This might be an issue that solves itself over time.

        Megalomaniak
        Thank you! I think I figured out what's causing the stuttering.
        I was doing something with multi-threading and I was making the process function wait for the thread to finish.

          InwardCartoon22 That would do it. You shouldn't ever really make process break or wait, it gets integrated from nodes into the main loop, so you are causing the main loop to wait.