• bitmapdata的知识点


    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也是如此,每个像素点排列三个液晶槽每个槽负责一种原色,通过改变液晶两端的电压来扭转液晶的开闭达到显色效果。

  • 相关阅读:
    世界上最快的排序算法——Timsort
    十二种排序包你满意(冒泡、插入、归并、快速排序等包含希尔和计数排序)
    二叉树遍历方法大全(包含莫里斯遍历)
    Nginx知多少系列之(一)前言
    .NET Core项目部署到Linux(Centos7)(一)前言
    Nginx知多少系列之(十四)Linux下.NET Core项目Nginx+Keepalived高可用(主从模式)
    Nginx知多少系列之(七)负载均衡策略
    Nginx知多少系列之(六)Linux下.NET Core项目负载均衡
    Nginx知多少系列之(五)Linux下托管.NET Core项目
    Nginx知多少系列之(四)工作原理
  • 原文地址:https://www.cnblogs.com/as3lib/p/3761777.html
Copyright © 2020-2023  润新知