Incorrect display of FCanvasTextItem

I have been learning a demo of JSBSIM recently. Epic Games provided a demo called UEReferenceApp. As I delved into the demo’s learning process, I encountered an issue where the string in the image would display in the wrong position on my first PC. It is strange that it appears normal on another computer, and I am not sure what happened.
图片

From the code, I found something wrong in:

void FJSBSimMovementCompVisualizer::DrawVisualizationHUD(const UActorComponent* Component, const FViewport* Viewport, const FSceneView* View, FCanvas* Canvas)
{
//...................
	if (View->ScreenToPixel(View->WorldToScreen(CGWorldLocation), PixelLocation))
	{
		Canvas->DrawShadowedString(PixelLocation.X, PixelLocation.Y, TEXT("CG"), GEngine->GetSmallFont(), FLinearColor::Yellow);
                //Same error with Unreal recommand draw FCanvasTextItem
	}
}
//...................

The PixelLocation is correct from my log. I suspect that DrawShadowedString made a wrong drawing. Do you guys know how to solve that? Is it possible that the Nvidia driver caused the error?

Thank you for your help.

I have identified the issue. A calculation problem occurs in the FCanvas when your Windows DPI is not set to 100%. This bug has persisted for several years, even in version 4.xx, and Epic has yet to address it.