Windows phone 8 什么';Windows Phone 8.1 Pivot有什么问题?(WinRT-非Silverlight)
所以我决定从Windows Phone 8.0迁移到Windows Phone 8.1 API,而不是silverlight API。 原因是我想使用Silverlight 8.1或WP 8.0不支持的Win2D绘图库 奇怪的事情正在发生。 简单透视视图非常滞后,而且不能正确显示视图。 我正在使用最新的Visual Studio 2015。在我链接的视频中,您可以看到以下页面XAML代码的结果(仅用于测试):Windows phone 8 什么';Windows Phone 8.1 Pivot有什么问题?(WinRT-非Silverlight),windows-phone-8,windows-runtime,windows-phone-8.1,pivot,winrt-xaml,Windows Phone 8,Windows Runtime,Windows Phone 8.1,Pivot,Winrt Xaml,所以我决定从Windows Phone 8.0迁移到Windows Phone 8.1 API,而不是silverlight API。 原因是我想使用Silverlight 8.1或WP 8.0不支持的Win2D绘图库 奇怪的事情正在发生。 简单透视视图非常滞后,而且不能正确显示视图。 我正在使用最新的Visual Studio 2015。在我链接的视频中,您可以看到以下页面XAML代码的结果(仅用于测试): 有人知道这里发生了什么吗?我应该使用第三方的pivot类似物,还是干脆忘记在新操作
有人知道这里发生了什么吗?我应该使用第三方的pivot类似物,还是干脆忘记在新操作系统中使用它?
把我的头发拔出来。
任何解决方案都将不胜感激
问题在于您在
透视图上使用的是CacheMode=“BitmapCache”
。拆下此线后,性能应良好
首先,缓存应用于元素及其所有子元素,BitmapCaching应在混合、转换(平移、拉伸、旋转)的场景中使用。如果您需要BitmapCaching,请尝试不要在根控件上使用它,而是在真正需要BitmapCaching的子控件上使用它
滥用CacheMode功能可能会影响性能,因此您需要认真思考自己在做什么。如果可视化树交错缓存和未缓存的元素,则实际上是在幕后创建多个渲染曲面。未缓存的曲面在软件中渲染,缓存的曲面在硬件中渲染。如果您可以最小化渲染曲面的总数,并让硬件尽可能地工作,那么您的性能将是最好的
从另一个StackOverflow
回答。希望有帮助。非常感谢。我还在学习wp和WinRT框架。然而,令人感兴趣的是,WP8.0上的同一代码使其工作没有任何问题
<Page
x:Class="Apptest2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Apptest2"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Column="0">
<Button Content="Go"
/>
</StackPanel>
<Pivot Grid.Row="1"
x:Name="PivotView"
Margin="10,0,10,15"
CacheMode="BitmapCache"
VerticalContentAlignment="Stretch">
<PivotItem Header="item1">
<Grid Background="BlueViolet" />
</PivotItem>
<PivotItem Header="item2">
<Grid Background="BlueViolet" />
</PivotItem>
<PivotItem Header="item3">
<Grid Background="BlueViolet" />
</PivotItem>
<PivotItem Header="item4">
<Grid Background="BlueViolet" />
</PivotItem>
<PivotItem Header="item5">
<Grid Background="BlueViolet" />
</PivotItem>
<PivotItem Header="item6">
<Grid Background="BlueViolet" />
</PivotItem>
</Pivot>
</Grid>
</Page>