GPU Time Real in shipping build (not corrupted by VSync)

Hello,

I really cannot get a REAL GPU Time in Shipping Build, the only way i succeeded is with:

/** Number of milliseconds the GPU was busy last frame. */

const uint32 GPUCycles = RHIGetGPUFrameCycles(GPUIndex);

RawGPUFrameTime[GPUIndex] = FPlatformTime::ToMilliseconds(GPUCycles);

“stat unit” do the same, just this to display an average:

GPUFrameTime[GPUIndex] = 0.9 * GPUFrameTime[GPUIndex] + 0.1 * RawGPUFrameTime[GPUIndex];

But only nets us the overall frametime incl. VSync, so the problem is the following:

With VSync disabled, I have 90 fps and 11.80 ms GPU Time, with VSync Enabled, I have 60 fps and 16.26 ms GPU Time, that of course doesn’t make any sense! (screen attached)

The time should be returned when GPU finish to render, and not wait to VSync signal.

In that way I cannot have a precise GPU Time, and I need it as performance value for an external application in a Shipping Build!

Please how can i have it? Thanks in advance