我想在两个页面之间进行简单的转换,但每当我使用PushModalAsync
时,我都会遇到大量的帧丢失。
我已经在多部手机上测试了这个问题,三星Galaxy A3(2016)和三星Galaxy A5(2016)上的问题仍然存在,但华为P9 Lite没有。需要注意的是,这三款手机之间的规格差别不大。
有什么方法可以让转换顺利进行或根本不显示动画?
我使用以下代码:
var newPage = new NewPage();
await PushModalAsync(newPage);
答案 0 :(得分:2)
嗯,我猜这是旧设备的GPU的一个问题,它很难在没有帧丢失的情况下渲染动画。此外,我认为很难优化PushModalAsync
代码超出其当前状态。
您可以使用PushModalAsync(Page, bool)
overload。只需使用false
即可避免动画page
。这将避免动画GPU上的额外负载。最后,您应该不再遇到帧丢失。
答案 1 :(得分:0)
尝试在后台运行......
Task.Factory.StartNew(()=>{
var newPage = new NewPage();
return newPage;
}).ContinueWith(tnp=>{PushModalAsync(tnp.Result);});