Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 55725)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 55726)
@@ -3690,4 +3690,7 @@
         else if (strKey == GUI_Scaling_Optimization)
             emit sigScalingOptimizationTypeChange(strMachineID);
+        /* HiDPI optimization type change: */
+        else if (strKey == GUI_HiDPI_Optimization)
+            emit sigHiDPIOptimizationTypeChange(strMachineID);
         /* Unscaled HiDPI Output mode change: */
         else if (strKey == GUI_HiDPI_UnscaledOutput)
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 55725)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 55726)
@@ -82,4 +82,7 @@
     /** Notifies about the scaling optimization type change. */
     void sigScalingOptimizationTypeChange(const QString &strMachineID);
+
+    /** Notifies about the HiDPI optimization type change. */
+    void sigHiDPIOptimizationTypeChange(const QString &strMachineID);
 
     /** Notifies about unscaled HiDPI output mode change. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 55725)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 55726)
@@ -408,6 +408,19 @@
         return;
 
-    /* Take the scale-factor into account: */
+    /* Take the scaling-optimization type into account: */
     frameBuffer()->setScalingOptimizationType(gEDataManager->scalingOptimizationType(vboxGlobal().managedVMUuid()));
+
+    /* Update viewport: */
+    viewport()->update();
+}
+
+void UIMachineView::sltHandleHiDPIOptimizationChange(const QString &strMachineID)
+{
+    /* Skip unrelated machine IDs: */
+    if (strMachineID != vboxGlobal().managedVMUuid())
+        return;
+
+    /* Take the HiDPI-optimization type into account: */
+    frameBuffer()->setHiDPIOptimizationType(gEDataManager->hiDPIOptimizationType(vboxGlobal().managedVMUuid()));
 
     /* Update viewport: */
@@ -694,4 +707,7 @@
     connect(gEDataManager, SIGNAL(sigScalingOptimizationTypeChange(const QString&)),
             this, SLOT(sltHandleScalingOptimizationChange(const QString&)));
+    /* HiDPI-optimization change: */
+    connect(gEDataManager, SIGNAL(sigHiDPIOptimizationTypeChange(const QString&)),
+            this, SLOT(sltHandleHiDPIOptimizationChange(const QString&)));
     /* Unscaled HiDPI output mode change: */
     connect(gEDataManager, SIGNAL(sigUnscaledHiDPIOutputModeChange(const QString&)),
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h	(revision 55725)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h	(revision 55726)
@@ -126,4 +126,7 @@
     /** Handles the scaling-optimization change. */
     void sltHandleScalingOptimizationChange(const QString &strMachineID);
+
+    /** Handles the HiDPI-optimization change. */
+    void sltHandleHiDPIOptimizationChange(const QString &strMachineID);
 
     /** Handles the unscaled HiDPI output mode change. */
