Opening the camera app, which by default is fullscreen, the unity8 log shows that the camera-app surface height is being animated, which is a waste of effort. Resizing Qt aps isn't particularly fast.
qtmir.applications: ApplicationManager::onAppDataChanged: Received "fullscreen" update "com.ubuntu.camera_camera"
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1861.27) , z = 0 ) , old ( 1152 , 1847 ) , new ( 1152 , 1861 ) surface resized
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1873.28) , z = 0 ) , old ( 1152 , 1861 ) , new ( 1152 , 1873 ) surface resized
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1884.54) , z = 0 ) , old ( 1152 , 1873 ) , new ( 1152 , 1884 ) surface resized
qtmir.sessions: Session::surfaceChanged - session=qtmir::Session(0x17c98a0) surface= qtmir::MirSurfaceItem (this = 0x13118a0 , name= "" , parent = 0x0 , geometry = QRectF(0,0 1152x1920) , z = 0 )
qtmir.surfaces: MirSurfaceItem::syncSurfaceSizeWithItemSize()
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1893.72) , z = 0 ) , old ( 1152 , 1884 ) , new ( 1152 , 1893 ) surface resized
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1901.53) , z = 0 ) , old ( 1152 , 1893 ) , new ( 1152 , 1901 ) surface resized
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1908.32) , z = 0 ) , old ( 1152 , 1901 ) , new ( 1152 , 1908 ) surface resized
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1913.3) , z = 0 ) , old ( 1152 , 1908 ) , new ( 1152 , 1913 ) surface resized
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1917.08) , z = 0 ) , old ( 1152 , 1913 ) , new ( 1152 , 1917 ) surface resized
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1919.23) , z = 0 ) , old ( 1152 , 1917 ) , new ( 1152 , 1919 ) surface resized
qtmir.surfaces: MirSurfaceItem::updateMirSurfaceSize surface = qtmir::MirSurfaceItem (this = 0x16e1cc8 , name= "" , parent = 0xdf3b28 , geometry = QRectF(0,0 1152x1920) , z = 0 ) , old ( 1152 , 1919 ) , new ( 1152 , 1920 ) surface resized
Instead the correct surface size should be set once, and shell animates the panel per usual.