Wpf DrawingSurface和DrawingSurfaceBackgroundGrid之间是否存在性能差异?

Wpf DrawingSurface和DrawingSurfaceBackgroundGrid之间是否存在性能差异?,wpf,drawing,windows-phone-8,windows-phone,Wpf,Drawing,Windows Phone 8,Windows Phone,在适用于Windows Phone 8的Xaml/Direct3d应用程序中,使用DrawingSurface和DrawingSurfaceBackgroundGrid之间是否存在性能差异 主要区别在于DrawingSurface应仅用于在屏幕的一部分上绘制,例如在控件中 另一方面,DrawingSurfaceBackgroundGrid用于全屏使用,因为元素充当网格,即您可以在其中添加XAML元素,并像使用顶级网格布局一样排列它们 至于性能,我想说,对于全屏使用,后一种形式的性能更高,尽管我不

在适用于Windows Phone 8的Xaml/Direct3d应用程序中,使用DrawingSurface和DrawingSurfaceBackgroundGrid之间是否存在性能差异

主要区别在于
DrawingSurface
应仅用于在屏幕的一部分上绘制,例如在控件中

另一方面,
DrawingSurfaceBackgroundGrid
用于全屏使用,因为元素充当网格,即您可以在其中添加XAML元素,并像使用顶级网格布局一样排列它们


至于性能,我想说,对于全屏使用,后一种形式的性能更高,尽管我不能说这是事实。

是的,有区别

我设法找到了有用的信息:

从,在“Direct3D with XAML项目模板”下

“如果您想要创建一个仅将托管应用程序用作基本本地游戏的薄包装的游戏,以利用托管应用程序(如live tiles)提供的某些功能,建议使用此模板。此模板使用DrawingSurfaceBackgroundGrid控件在屏幕上显示Direct3D图形。与DrawingSurface控件不同,此控件必须放置在XAML树的根目录下,并且始终覆盖整个屏幕。与其他模板一样,用于渲染图形的Direct3D代码在单独的Windows Phone运行时组件中实现使用XAML应用程序的Direct3D的帧速率略高于使用Direct3D应用程序的XAML。

在“DrawingSurfaceBackgroundGrid”下


“绘制表面Bead Stand网格是一个非常特殊的元素,它必须始终是页面的根元素,并允许开发人员直接使用C++直接向后台渲染。DrawingSurfaceBackgroundGrid,顾名思义,继承自Grid,所以您可以使用Grid布局定位子元素。子元素由平台在Direct3D渲染背景上自动合成DrawingSurfaceBackgroundGrid允许开发人员直接渲染,而不是像DrawingSurface那样需要副本(通过Direct3D交换链),从而提高性能。DrawingSurfaceBackgroundGrid的引入是为了支持需要“到金属”图形性能的游戏或其他应用程序,但也希望将现有的XAML元素用于UI,并能够访问一些本机应用程序模型中不可用的功能,如实时互动程序或通知“

另一个主要区别是
DrawingSurfaceBackgroundGrid
不支持方向。它总是使用人像。

人像比人像快5-7%,但也有更大的限制,因为人像必须是全屏和背景。但它的用途不同。因此,这种限制并没有那么糟糕。