windows phone中的图形渲染处理

windows phone中的图形渲染处理

ID:11849344

大小:286.50 KB

页数:4页

时间:2018-07-14

windows phone中的图形渲染处理_第1页
windows phone中的图形渲染处理_第2页
windows phone中的图形渲染处理_第3页
windows phone中的图形渲染处理_第4页
资源描述:

《windows phone中的图形渲染处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、WindowsPhone中的图形渲染处理   这篇文章主要介绍WindowsPhone中XAML的渲染处理过程,你可以根据下文中所提到的内容来优化现有的XAML页面,来提高页面渲染的性能。    XAML的渲染包括以下两个阶段:    1.光栅化(Rasterization)光栅化是将图形的表现形式从以基于矢量(vector-based)的图形(比如:线、文字和矩形)转换成基于像素(pixel-based)的图形,从而可以使图像直接显示在屏幕上的处理过程。这个转换过程要先在内存中先为位图分配一个缓冲区,然后将以矢量图形一个像素一个像素的转换成位图,并完成蒙板和梯度值的计算。这个光栅化的过程完全

2、是由CPU来处理的。     2.组合(Composition)在每一个UIElement都被光栅化之后渲染器按照原始元素Z轴的顺序讲各个缓冲区上的位图层叠到彼此之上。这个处理将各个位图组合到了一起,所以渲染器要负责处理元素的透明度和任何转换(如:大小和位置),最终将位图展示在设备的屏幕上。组合处理CPU或者GPU来完成。     下面这张图通过将两个UIElement展示在屏幕上,说明了光栅化和组合阶段的过程,其中一个具有不透明蒙板。     渲染的过程是非常复杂的,因为屏幕上的图形都是由UIElement的集合组合在一起的,而很多UIElement又是由其他UIElement组合的。在内部

3、,XAML使用一种所有元素都可见和渲染的层次结构的视觉树(visualtree)。比如要呈现一个普通的屏幕图形,XAML通过光栅化及组合可视化树中的元素,以减少必须分配的内存缓冲区的数量。这个处理过程将尽可能的将元素覆盖到现有的缓冲区中。开发人员可以通过缓冲组合,以指定特定的UI元素如何被分组和由GPU组成。适当的缓存可以显着提高用户界面的帧速率。    如果UIElement是可动的,它将浪费一些处理器的时间,直到动画结束才进行光栅化处理。此外,即使元素只移动了其中一小部分,也需要对整个UIElement进行重新组合。为了优化渲染过程,XAML自动推迟了某些元素的组合过程,从而是元素的组合步

4、骤可以迅速的通过GPU来完成。使用GPU来加速渲染过程通常被称为硬件加速。如果您的设备没有GPU或因其他原因不能硬体加速,XAML采用图形设备接口(GDI)以较低的渲染速度来通过Z轴的顺序一像素一像素绘制UI。渲染处理过程中的线程    在XAML中有两个主要的线程:UI线程和Compositor线程。为了创建响应及时的应用,了解这两个线程是非常重要的。    1.UIThread    UI线程负责以下任务:用户输入的处理。XAML对象的创建和解析。首次绘制所有视图到屏幕上。执行每帧回调或其他用户代码。    为了使您的应用程序尽可能灵活响应,必须尽量保持UI线程的轻量和空闲。    2.C

5、ompositorThread    组合线程是一个超轻量级的线程,它为GPU简单的组合元素的纹理,它处理GPU上的被定义为Storyboards类型或者基础纹理的绘制类型的动画。这些动画类型包括:Translation.改变对象的位置。Scaling.放大或缩小对象以产生深度的视觉。Rotation.旋转对象。Draws.屏幕首次呈现所有视图。PlaneProjection.通过映射到二位平面来展示对象的3D变化。    注意,任何使用了不透明蒙板,非矩形剪切或者大小改变的动画的对象大于2,048x2,048像素,它们将在UI线程上光栅化。渲染处理过程的例子    为了说明前面的概念,请参阅

6、如下图所示的界面。屏幕上的地球图像制作成动画,绕着屏幕剩余边界。虽然这个屏幕显示了一个非常简单的用户界面,它包括所有上面列出的关键构建模块来说明渲染过程.     这个图像是由下面这个XAML用户控件构成的。

7、"LayoutRoot">

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。