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. php面向对象基础知识点总结

    下面是一些PHP面向对象基础知识的摘录,摘录内容来自PHP5.1手册. 1.类的变量成员叫做“属性”,或者叫“字段”.“特征”,在本文档统一称为“属性”. 2.属性中的变量可以初始化,但是初始化的值必 ...

  2. [3140] Sublime Text 2.x, 3.x 通用注册码、密钥集合

    [3140] Sublime Text 2.x, 3.x Universal License Keys collection for Win, Mac & Lin 所有这些许可证密钥都被测试( ...

  3. 20145319 return-to-libc攻击实验

    20145319 Return-to-libc攻击实验 一 实验内容 return-to-libc实验是一个基于缓冲区溢出攻击实验的基础上的一种攻击实验 缓冲区溢出攻击相关知识: 原理:通过一段包含s ...

  4. 20145326 《Java程序设计》第10周学习总结

    教材学习内容总结 网络编程 •网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. •程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴. •在发送 ...

  5. POJ 3268 Silver Cow Party(最短路&Dijkstra)题解

    题意:有n个地点,有m条路,问从所有点走到指定点x再走回去的最短路中的最长路径 思路:用Floyd超时的,这里用的Dijkstra. Dijkstra感觉和Prim和Kruskal的思路很像啊.我们把 ...

  6. POJ 3281 Dining(最大流)

    http://poj.org/problem?id=3281 题意: 有n头牛,F种食物和D种饮料,每头牛都有自己喜欢的食物和饮料,每种食物和饮料只能给一头牛,每头牛需要1食物和1饮料.问最多能满足几 ...

  7. shell 判断文件是否是可执行文件

    测试变量指定的文件是否存在且是可执行文件.如果存在且是可执行文件,则执行该文件,否则通过chmod命令赋予该文件可执行权限. //test.sh #!/bin/bash echo "ente ...

  8. thinkphp3.2笔记(2)调试模式,配置项C,创建模块, 四种URL模式,URL生成,跳转

    一.调试模式 TP的调试模式其实就控制了TP关于配置信息以及函数的缓存功能 如果开启了调试模式,每次访问项目,Tp都会去加载最新的配置以及函数信息. 如果关闭了调试模式,当tp第一次访问时会降配置以及 ...

  9. org.springframework.transaction 包改成 spring-tx

    org.springframework.transaction 包改成 spring-tx org.springframework.transaction  3.2.2以后的版本,全改到 spring ...

  10. 雷林鹏分享:Ruby 正则表达式

    Ruby 正则表达式 正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找其他字符串或字符串集合. 语法 正则表达式从字面上看是一种介于斜杠之间或介于跟在 %r 后的任意分隔符之间的 ...