Fix sluggish EditorViewport camera movement with high DPI

Flooring the mouse delta values seems to drop slight movements in
viewport when screen DPI is high.
This commit is contained in:
2023-06-18 21:22:24 +03:00
parent dd8817582a
commit 6a1552505e

View File

@@ -1168,14 +1168,15 @@ namespace FlaxEditor.Viewport
{ {
offset = Float2.Zero; offset = Float2.Zero;
} }
offset.X = offset.X > 0 ? Mathf.Floor(offset.X) : Mathf.Ceil(offset.X);
offset.Y = offset.Y > 0 ? Mathf.Floor(offset.Y) : Mathf.Ceil(offset.Y);
_mouseDelta = offset / size;
_mouseDelta.Y *= size.Y / size.X;
var mouseDelta = Float2.Zero; var mouseDelta = Float2.Zero;
if (_useMouseFiltering) if (_useMouseFiltering)
{ {
offset.X = offset.X > 0 ? Mathf.Floor(offset.X) : Mathf.Ceil(offset.X);
offset.Y = offset.Y > 0 ? Mathf.Floor(offset.Y) : Mathf.Ceil(offset.Y);
_mouseDelta = offset / size;
_mouseDelta.Y *= size.Y / size.X;
// Update delta filtering buffer // Update delta filtering buffer
_deltaFilteringBuffer[_deltaFilteringStep] = _mouseDelta; _deltaFilteringBuffer[_deltaFilteringStep] = _mouseDelta;
_deltaFilteringStep++; _deltaFilteringStep++;
@@ -1192,6 +1193,8 @@ namespace FlaxEditor.Viewport
} }
else else
{ {
_mouseDelta = offset / size;
_mouseDelta.Y *= size.Y / size.X;
mouseDelta = _mouseDelta; mouseDelta = _mouseDelta;
} }