flashplayer的cpu渲染

bitmapData占用的内存分两块,一块是原始数据区,另一块是解压后的内存区
10秒内如果没有使用这个bitmapdata,解压后的内存区会被释放,
当10秒后重新使用,这个bitmapdata会再次解压,
所以就会造成某些页游几秒钟一定会卡一下的现象,这个现象在手机上最严重
另外,copy出来会变成三份内存,或者当你无意中缩小了位图,也会变成三份
内存。2dx和flash的位图机制都是如此

 fp用cpu渲染,消耗大量CPU是因为要解压 ,解压后的数据经过CPU渲染到屏幕
 其实只要不缩放图片,显示的效率非常高的. fp cpu渲染没有经过显卡。

 显示100个图片动画,缩放占CPU40%,不缩放占20% 
 
 为了提供alpha支持,fp还不止调用系统api,还调用了gdi+的api ,flashplayer最终
调用windows的api c++来达到显示图形。

 每个系统画屏幕的api都不一样 
 如果FP运行在Mac上,会调用Mac的画屏幕的API 
 
 GPU只负责计算,然后将结果交给BUS总线,传给显示屏

 CPU做的也是这个工作 区别是CPU还要做其他事情
stage,只是C++的一个Canvas

 C++的Canvas调用系统API绘制屏幕

 系统API采用的是逐行扫描 并没有垂直同步

 所以就会导致滚屏时出现撕裂现象

 显卡的驱动也是C/C++写的。。 
 
 脏矩形思想是,有变动的地方才需要重绘

 所以面积小了,绘制速度快 
http://blog.codingnow.com/cloud/DirtyRect

显示器呈像原理

读出的顺序对应于图像为从左到右一整行后,再到下一行,直至右下角最后一个象点。再回到左上角象点读出,电压的输出分红、绿、蓝三个通道,对应每一色,光亮度越高,输出的电压越高,通常输出电压范围(国际标准为0-0.7V或0-0.1V)此三通道电压由信号线的1、2、3号脚输入到显示器。

在显示器一侧:图象放大电路把0-0.7V电压转换为约0-40V,用于调节电子枪电子束的强弱,电子束对荧光屏的荧光粉进行扫描。在时间、位置上与显卡的读出一一对应,称为同步。同步又分水平同步和垂直同步,分别标定每一行的起始点,和每一幅图象的行。

电子束对荧幕的扫描过电场(静电偏转)或磁场(磁偏转)的控制。静电偏转特点反应快、角度小,极均匀,通常用于测量仪器(示波器为典型例子)。磁偏转反应慢(每秒十三个来回)均匀度稍差(需加复杂枕形较正),偏转角度大,可偏转角度90度-110度,显示器通常用90度磁偏转系统,110度用于大屏幕电视机。

三原色可以组成所有色彩,显示器通过单个像素点上的三组颜色组合来实现显示色彩的。荧光粉受到电子流轰击得到能量,显示色彩。
CRT(阴极射线管)显示器通过将高能电子激活屏幕上的荧光粉显示色彩,传统用三枪三束显示管(激活红绿蓝荧光区的三束电子流分别用三根发射枪管控制),也有sony独创的单枪三束显示管(特丽珑管),定位更准,所以画质精度更高,所以当时sony显示器是无对手可言的。
如今的LCD也是如此,每个像素点排列三个液晶槽每个槽负责一种原色,通过改变液晶两端的电压来扭转液晶的开闭达到显色效果。

bitmapdata的知识点的更多相关文章

  1. ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...

  2. ASP.NET MVC开发:Web项目开发必备知识点

    最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...

  3. UWP开发必备以及常用知识点总结

    一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...

  4. C#高级知识点&(ABP框架理论学习高级篇)——白金版

    前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...

  5. lucene 基础知识点

    部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...

  6. DoraCMS 源码知识点备注

    项目需要研究了下DoraCMS这款开源CMS,真心做的不错:).用的框架是常用的express 4 + mongoose,代码也很规范,值得学习. 源码中一些涉及到的小知识点备注下: https:// ...

  7. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

  8. HTML5知识点总结

    HTML5知识点总结(一) 一.HTML新增元素 1.IE9版本以下支持HTML5的方法 <!--[if lt IE9]> <script src="http://cdn. ...

  9. JavaScript易错知识点整理

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...

随机推荐

  1. 如何使用科大 mirrors 加速 pip?

    编辑 ~/.pip/pip.conf 文件(如果没有则创建之),将 index-url 开头的一行修改为下面一行: index-url = https://pypi.mirrors.ustc.edu. ...

  2. express+mongodb+mongoose简单入门

    mongodb安装 window安装方法就不讨论了,比较简单~我们来看一下在linux下面的安装步骤~(这里需要一点linux的简单命令知识哈) 1.下载文件到服务器(先创建好自己想安装的目录)~ c ...

  3. [BZOJ3237]连通图

    Description Input Output Sample Input 4 5 1 2 2 3 3 4 4 1 2 4 3 1 5 2 2 3 2 1 2 Sample Output Connec ...

  4. install diagnostic_updater

    sudo apt-get install ros-kinetic-diagnostic-updater

  5. Phpstorm Alt+Enter 自动导入类

    很方便!!!能够自动提示哪些类没有自动加载!!!然后Alt+Enter进行安装!!!

  6. jsp页面中jstl标签详解[转]

    JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...

  7. Cool Auto-Suggest 插件使用方法

    刚入职的时候公司主管曾经让我用Cool Auto-Suggest 插件写过后台管理页面内的自动填充及搜索功能. 其实这个插件的使用很简单,网上也有相应的翻译文档,但是明显的机翻看着无法忍受.我写一下使 ...

  8. webSocket协议与Socket的区别

    WebSocket介绍与原理WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex).一开始的握手需要借助HTTP请求完成. ——百度 ...

  9. Android中Tablayout设置下划线宽度 和 dp和px之间进行相互转换

    开发中遇到了一个问题,Tablayout设置下换线长度,看了点资料,分享给大家. 效果图:               直接贴代码(要在tabLayout添加完所有的tab后调用) public vo ...

  10. Python3 内建函数一览

    ###################################################### """Python3 内建函数大全""& ...