当前位置: 首页 > news >正文

关于内网站建设的请示培训机构哪家好

关于内网站建设的请示,培训机构哪家好,网页设计网站设计欣赏,网站建设的项目描述目录 引言&#xff1a; 主程序代码&#xff1a; 结果呈现&#xff1a; 小结&#xff1a; 引言&#xff1a; 通过一个最简单的测试程序直观Android系统的native层Surface的渲染显示过程。 主程序代码&#xff1a; #include <cutils/memory.h> #include <utils/L…

目录

引言:

主程序代码:

结果呈现:

小结:


引言:

通过一个最简单的测试程序直观Android系统的native层Surface的渲染显示过程。

主程序代码:

#include <cutils/memory.h>
#include <utils/Log.h>
#include <binder/IPCThreadState.h>
#include <binder/ProcessState.h>
#include <binder/IServiceManager.h>
#include <gui/Surface.h>
#include <gui/SurfaceComposerClient.h>
#include <android/native_window.h>using namespace android;//int main(int argc, char** argv)
int main()
{// 设置线程池sp<ProcessState> proc(ProcessState::self());ProcessState::self()->startThreadPool();// 创建与Surfaceflinger通信的客户端sp<SurfaceComposerClient> client = new SurfaceComposerClient();// 创建SurfaceControl并设置名称“resize”、宽高、像素格式,红色分量使用 5 位,绿色分量使用 6 位,蓝色分量使用 5 位。sp<SurfaceControl> surfaceControl = client->createSurface(String8("resize"),400, 600, PIXEL_FORMAT_RGB_565, 0);//通过SurfaceControl获取一个Surfacesp<Surface> surface = surfaceControl->getSurface();SurfaceComposerClient::Transaction t;//设置Layer层级,数值越大层级越高t.setLayer(surfaceControl, 100000).apply();ANativeWindow_Buffer outBuffer;//从BufferQueue中获取获取一个Buffersurface->lock(&outBuffer, NULL);//计算每个像素点的字节大小ssize_t bpr = outBuffer.stride * bytesPerPixel(outBuffer.format);//使用memset16对buffer赋值(颜色值)android_memset16((uint16_t*)outBuffer.bits, 0xF800, bpr*outBuffer.height);//提交填充后的buffersurface->unlockAndPost();sleep(1);surface->lock(&outBuffer, NULL);android_memset16((uint16_t*)outBuffer.bits, 0x07E0, bpr*outBuffer.height);surface->unlockAndPost();sleep(1);surface->lock(&outBuffer, NULL);android_memset16((uint16_t*)outBuffer.bits, 0x001F, bpr*outBuffer.height);surface->unlockAndPost();sleep(1);//对outbuffer进行100次连续的获取与释放for (int i = 0; i < 100; i++) {surface->lock(&outBuffer, NULL);printf("%03d buff addr = 0x%x\n", i, (unsigned int)(uintptr_t)outBuffer.bits);surface->unlockAndPost();}IPCThreadState::self()->joinThreadPool();return 0;
}

结果呈现:

小结:

1、基于线程池的方式,创建一个客户端,并与服务端SurfaceFlinger进行connect,这就有了通信和交互的基础渠道

2、创建Surface,同时通过SurfaceControl来直接管理Surface(demo中只体现了Surface的lock和unlockAndPost来获取buffer)

3、底层是通过BufferQueue的来实现生产者和消费者模型的流水线方式,进行读写图形缓冲区,进行绘制渲染。

http://www.hrbkazy.com/news/53405.html

相关文章:

  • 顺义网站建设廊坊seo排名公司
  • 怎么做网站的后台管理系统手机百度高级搜索
  • 望野什么意思郑州网络seo公司
  • 建设优化一个网站步骤最佳搜索引擎
  • wordpress中文转拼音长春网站优化咨询
  • 企业网站优化的三层含义属于seo网站优化
  • wordpress插件随机文章西安seo报价
  • 中国建设网官方网站发改委移动排名提升软件
  • 网络营销型网站设计竞价托管一般多少钱
  • 网站重要性全部列表支持安卓浏览器软件下载
  • 网上哪里有辅导高考生做难题的网站短链接生成网址
  • 新开传奇网站排行一键识图找原图
  • 怎么做自动跳转网站怎么优化一个网站
  • 做系统后怎么找回网站收藏夹广告联盟下载app
  • 常州网站建设公司如何网络运营需要学什么
  • 网站开发行业竞争大吗网络营销方案设计
  • wordpress 悬浮联系百度seo收录软件
  • wordpress 关闭插件更新优化网站标题和描述的方法
  • 龙华营销型网站建设公司软件开发需要学什么
  • 江苏做网站公司拉人头最暴利的app
  • wordpress子域名网站磁力链最佳的搜索引擎
  • 简单网页代码html作业网站优化推广排名
  • wordpress站点自动推送排名优化网站
  • 网站建设技术风险分析seo技巧优化
  • dede做的网站被植入广告湖南疫情最新消息今天
  • wordpress特色图像插件seo优化关键词排名优化
  • 一起做网站女装夏季友情链接举例
  • 虹桥做网站公司网络运营培训班多少钱
  • 武汉简单做网站太原seo管理
  • 口碑营销5t网站优化推广外包