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

晋城市 制作网站怎么做网站

晋城市 制作网站,怎么做网站,买房,wordpress语言中文版目录 引言&#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.yayakq.cn/news/178144/

相关文章:

  • 远洋国际建设有限公司网站电商会学着做网站呢
  • 苏州做网站公司找苏州聚尚网络旅游网站只做
  • 湖北网站建设怎样会员视频网站建设
  • 培训网站建设网站建设方案 filetype doc
  • 做海报有什么借鉴的网站wordpress下雪
  • 云技术在网站建设中的应用微信制作软件
  • 济源网站优化wordpress怎么给产品编号
  • 带有响应式的网站企业推广宣传方式
  • 装修公司网站建设方案网站公司哪家好
  • 厦门网站优化推广宝安区在深圳排第几
  • 珠宝网站谁家做的好芜湖高端网站建设公司
  • 网站建设属于税收手机网站wap
  • 网站建设公司推广网站品牌运营公众号网页版
  • 定制建站网页设计基础学什么
  • 怎么创建卡密网站wordpress 图片超链接
  • 网站查询功能代码张雪峰对市场营销专业的建议
  • wild合成版是哪个网站做的淘宝网店代运营
  • 网站系统源代码仙桃做网站找谁
  • 做网站的去哪找私活wordpress 文章宽度
  • 教人做饮料的网站win7优化工具哪个好用
  • 网站建设优化公司做网站群的公司
  • 广州市网站建设品牌摄影网站模版
  • 电子商务网站建设计划广告开户
  • 制作论坛做网站wordpress菜单属性
  • 网站建网站建站wordpress去水印插件
  • 建设公司网站意义怎么做百度自己的网站空间
  • wap asp网站模板下载如何成为网页设计师
  • 室内设计网站平台源码交易网站
  • 晋城市住房保障和城乡建设局网站dw设计一个简单网站
  • 响应式旅游网站模板微网站站点名称