社区
嵌入开发(WinCE)
帖子详情
FreeType与多进程
dhdahai
2012-08-04 03:47:47
最近碰到一个问题:
程序用多个进程组成,
每个进程都用到FreeType渲染字体,
这样导致每个进程都要加载字体文件,
最终程序占用内存过大。
有没有什么办法,多个进程共享一份字体文件,减少内存占用?
望各位提供点思路,谢谢!
...全文
208
10
打赏
收藏
FreeType与多进程
最近碰到一个问题: 程序用多个进程组成, 每个进程都用到FreeType渲染字体, 这样导致每个进程都要加载字体文件, 最终程序占用内存过大。 有没有什么办法,多个进程共享一份字体文件,减少内存占用? 望各位提供点思路,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dhdahai
2012-08-08
打赏
举报
回复
谢谢Mr_dodo了
是我代码问题,这样做还是有效果的
省下来几M的空间
结贴,给分!
Perry118
2012-08-07
打赏
举报
回复
文件映射是虚拟内存呀。你试试呀。
dhdahai
2012-08-07
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
用文件映射应该可以吧?
freetype初始化的时候,用FT_New_Memory_Face
[/Quote]
谢谢回复!
这样的话是不是要加载整个字体文件?
FT_New_Face好像没有加载整个字体文件
这样即使只加载一份数据,内存占用也比较大吧?
dhdahai
2012-08-07
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
用文件映射应该可以吧?
freetype初始化的时候,用FT_New_Memory_Face
[/Quote]
谢谢回复!
这样的话是不是要加载整个字体文件到内存?
FT_New_Face好像没有加载所有字体数据,
这样的话即使加载一份字体文件,内存占用也比较大吧?
Perry118
2012-08-07
打赏
举报
回复
那你直接写个程序试试,进程加载字体,消耗多少内存,内存映射加载,消耗多少内存。
如果内存使用都差不多,不就不关加载字体什么事啊。
dhdahai
2012-08-07
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
你是在机器上打印内存情况还是在模拟器上啊?
用内存映射,怎么可能会减少物理内存啊。。
在机器上试试喔
[/Quote]
我是在机器上打印内存使用状况的
用内存映射加载字体文件,和我原来各个进程加载字体文件相比,
内存占用情况差不多
Perry118
2012-08-07
打赏
举报
回复
你是在机器上打印内存情况还是在模拟器上啊?
用内存映射,怎么可能会减少物理内存啊。。
在机器上试试喔
Perry118
2012-08-07
打赏
举报
回复
哪两种啊
dhdahai
2012-08-07
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
文件映射是虚拟内存呀。你试试呀。
[/Quote]
试了一下,两种方法,占用内存基本上没差别
Perry118
2012-08-06
打赏
举报
回复
用文件映射应该可以吧?
freetype初始化的时候,用FT_New_Memory_Face
PHP GD库添加
freetype
拓展的方法
整个过程涵盖了从下载资源包、编译安装、配置编译参数、检查安装结果到最终的PHP GD扩展编译安装等多个方面,是针对特定服务器环境的PHP GD库添加
FreeType
拓展的详细指南。这不仅适用于CentOS 6.6系统,类似的步骤也...
DowloadsBack.tar.gz
这里提到的"mpc", "mpfr", "gmp", "
freetype
", "pkgconfig", "fontconfig", "ninja", 和 "dbus" 都是与IT领域相关的开源软件或库。 1. **mpc**: 这是GNU的多精度复数计算库,用于处理复数运算,特别适用于需要高...
lamp源码编译
如果能看到与`httpd`相关的进程,则表明Apache已成功启动。最后,可以在浏览器中输入服务器的IP地址来测试是否能正常访问。 #### 四、总结 本文详细介绍了如何通过源码编译的方式搭建LAMP环境,包括了所需的编译...
Android技术内幕.系统卷(扫描版)
2.1 linux与android的关系 /35 .2.1.1 为什么会选择linux /35 2.1.2 android不是linux /35 2.2 android对linux内核的改动 /37 2.2.1 goldfish /37 2.2.2 yaffs2 /38 2.2.3 蓝牙 /39 2.2.4 调度器(scheduler)/39 ...
mini2440 mplayer移植
总结来说,"mini2440 mplayer移植"项目是一个综合性的任务,涵盖了Linux开发环境的配置、Qt应用程序的开发、依赖库的管理、跨平台移植以及媒体播放功能的集成等多个方面。这个过程需要对Linux系统、Qt框架、嵌入式...
嵌入开发(WinCE)
19,519
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章