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

万户网站制作西安卓越软件开发有限公司

万户网站制作,西安卓越软件开发有限公司,什么网站做h5做得好,专业建站公司收费标准位图缓存是专用RAM缓冲区#xff0c;应用可将位图保存#xff08;或缓存#xff09;在其中。 如果缓存了位图#xff0c;在绘制位图时#xff0c;TouchGFX将自动使用RAM缓存作为像素来源。位图缓存在许多情况下十分有用。 从RAM读取数据通常比从闪存读取要快#xff08;特…位图缓存是专用RAM缓冲区应用可将位图保存或缓存在其中。 如果缓存了位图在绘制位图时TouchGFX将自动使用RAM缓存作为像素来源。位图缓存在许多情况下十分有用。 从RAM读取数据通常比从闪存读取要快特别是在使用纹理映射器时原因是它使用非线性存储器存取因此缓存到RAM可提升UI性能。 位图缓存在许多情况下十分有用。 出于性能方面的考虑TouchGFX要求存储在外部闪存中的所有图形数据都能直接访问通过指针无需通过驱动层。 这意味着TouchGFX不能从非存储器映射闪存如SD卡直接渲染。 为了打破这一限制位图缓存提供了一种在上电期间缓存RAM中的一些或全部位图数据的机制。 因此当您需要将位图保存在慢速外部存储器如U盘或SD卡上时位图缓存将十分有用。 配置屏幕显示图片 没添加缓存位图之前在线调试程序不会进入blockCopy函数 程序通过直接访问存储器映射闪存显示图片 位图缓存配置 如需缓存所有位图则缓存大小必须足够大才能包含所有位图数据。 注意会有少量存储空间用于记账8个字节 x 应用中的位图数量因此必须分配比原始像素数据的实际需求稍大的存储空间。 该值取决于应用中的位图数量但额外多几千字节通常即已足够。 TouchGFXHAL.cppLOCATION_PRAGMA_NOLOAD(TouchGFX_Cache) uint16_t Cache[1024 * 604] LOCATION_ATTRIBUTE_NOLOAD(TouchGFX_Cache);void TouchGFXHAL::initialize() {// Calling parent implementation of initialize().//// To overwrite the generated implementation, omit call to parent function// and implemented needed functionality here.// Please note, HAL::initialize() must be called to initialize the framework.TouchGFXGeneratedHAL::initialize();Bitmap::setCache(Cache, sizeof(Cache));Bitmap::cacheAll();HAL_GPIO_WritePin(LCD_BL_GPIO_Port, LCD_BL_Pin, GPIO_PIN_SET); } TouchGFX.sct; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; *************************************************************LR_IROM1 0x08000000 0x00200000 { ; load region size_regionER_IROM1 0x08000000 0x00200000 { ; load address execution address*.o (RESET, First)*(InRoot$$Sections).ANY (RO).ANY (XO)}RW_IRAM1 0x20000000 0x00020000 { ; RW data.ANY (RW ZI)}RW_IRAM2 0x24000000 0x00080000 {*(.RAM_D1)}RW_IRAM3 0x30000000 0x00048000 {*(.RAM_D2)}RW_IRAM4 0x38000000 0x00010000 {*(.RAM_D3)}RW_IRAM5 0xC0000000 UNINIT 0x02000000 {*(.RAM_SDRAM)*.o (TouchGFX_Framebuffer)*.o (TouchGFX_Cache)} }LR_ROM1 0x90000000 0x02000000 {ER_ROM1 0x90000000 0x02000000 { ; load address execution address*.o (ExtFlashSection) ; *.o (TextFlashSection) ; *.o (FontFlashSection)} }关闭外部闪存存储器映射 修改blockCopy函数 TouchGFXHAL.cppbool TouchGFXHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes) { // return TouchGFXGeneratedHAL::blockCopy(dest, src, numBytes);for(uint32_t i 0; i numBytes / 2; i)*((uint16_t *)dest i) 0xFFFF;return true; } 屏幕显示blockCopy中装载的全像素白色 假设blockCopy如果从存储器非映射闪存缓存图片则效果相同。 缓存策略 如果可分配用于位图缓存的RAM空间小于位图的总大小则启动过程中不能缓存所有位图。 举个例子您可以选择只缓存第一个屏幕需要的位图。 在屏幕之间切换时您可以删除一些或全部已缓存位图并缓存下一个屏幕所需的位图。 下一节对此进行了举例说明。 Screen1View.cppvoid Screen1View::setupScreen() {//ensure background is cachedBitmap::cache(BITMAP_SCREEN2_ID);//cache some iconsBitmap::cache(BITMAP_ICON10_ID);Bitmap::cache(BITMAP_ICON11_ID);Bitmap::cache(BITMAP_ICON12_ID); }void Screen1View::tearDownScreen() {//Remove all bitmaps from the cacheBitmap::clearCache(); }缓存的存储空间要求是位图使用量最多的屏幕使用的位图大小。 此方法的缺点是如果两个视图都使用一个位图从第一个视图退出时缓存中的位图会被擦除并在进入第二个视图时再次缓存。 可对Bitmap::cacheRemoveBitmap使用选择性未缓存位图从而减少此开销。 cacheRemoveBitmap的缺点是缓存存储空间碎片化。 缓存的另一个普遍缺点是在更改UI如添加按钮时您可能需要更新缓存代码来包含新位图。 上面例子中用到函数   bool cache(BitmapId id)  图片ID可以从TouchGFX Designer中获取 或者到BitmapDatabase.hpp文件中进行查找
http://www.pierceye.com/news/777094/

相关文章:

  • 北京网站建设公司怎么样怎么做qq盗号网站
  • 中企动力网站建设合同中天建设招标网站
  • 湖南手机版建站系统开发wordpress获取用户角色
  • 南皮网站建设价格泰安房产信息网官网首页
  • 网页制作与网站建设实战大全重庆房产信息网官网
  • 上海的网站建设公司app对接网站登录要怎么做
  • 江苏省备案网站现在什么网站做外贸的最好
  • 如何知道网站是否被k蓝山网站建设
  • 网站维护服务公司免费的网站推广渠道
  • 网站建设方案应该怎么写asp网站无法上传图片
  • 建个网站多少钱app企业关键词排名优化公司
  • 电子商务他们的代表网站代码网站怎么做的
  • 如何做网站卖东西长春互联网公司排名
  • 怎样拥有自己的网站制作网站的步骤和方法
  • 北京电子商务app网站建设大兴小程序源码如何部署到服务器
  • 设计找图网站网站用什么构建
  • 做微信的网站叫什么软件湛江网站建设制作维护
  • 做网站商城多少钱wordpress链接公众号
  • 数码产品销售网站建设策划书金融类网站模板
  • 档案网站建设视频网络软营销的案例
  • 德州市建设局质监站网站织梦做的网站打包在dw修改
  • 做那个男女的视频网站湖南响应式网站公司
  • 1个ip可以做几个网站电商网站建设阿里云
  • 网站做seo需要些什么wordpress虎嗅破解版
  • 网站开发按钮图片素材巩义自助建站优化
  • 石家庄网站建设接单常见的网络直接营销有哪些
  • 上海网站建设技术托管找合伙人做网站
  • 网站和自媒体都可以做东莞专业营销网站建设推广
  • 毕业设计网站怎么做校园网二手书交易网站建设
  • 网站运营托管协议凡科建设网站还用买服务器吗