社区
嵌入开发(WinCE)
帖子详情
FreeType与多进程
dhdahai
2012-08-04 03:47:47
最近碰到一个问题:
程序用多个进程组成,
每个进程都用到FreeType渲染字体,
这样导致每个进程都要加载字体文件,
最终程序占用内存过大。
有没有什么办法,多个进程共享一份字体文件,减少内存占用?
望各位提供点思路,谢谢!
...全文
260
10
打赏
收藏
FreeType与多进程
最近碰到一个问题: 程序用多个进程组成, 每个进程都用到FreeType渲染字体, 这样导致每个进程都要加载字体文件, 最终程序占用内存过大。 有没有什么办法,多个进程共享一份字体文件,减少内存占用? 望各位提供点思路,谢谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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
WezTerm GPU加速终端架构深度解析:Rust语言与现代图形渲染技术的融合
WezTerm作为一款基于Rust语言开发的GPU加速跨平台终端模拟器和复用器,代表了现代终端工具在性能优化和架构设计上的最新进展。该项目通过创新的技术架构解决了传统终端在高并发、大数据量渲染场景下的性能瓶颈问题,为开发者和系统管理员提供了全新的终端使用体验。 ## 架构设计理念与技术挑战 传统终端模拟器在面临大规模日志输出、多会话并发和复杂图形渲染时,常遇到渲染延迟、内存泄漏和资源竞争等核心
突破渲染瓶颈:LibGfx 2D图形引擎如何重塑Ladybird浏览器视觉体验
你是否注意到现代浏览器渲染复杂网页时的卡顿?从平滑滚动到渐变动画,从SVG图形到字体渲染,每个像素的呈现都考验着浏览器的图形处理能力。作为独立浏览器项目的Ladybird,其预alpha阶段就已展现出独特的渲染优势,这背后离不开LibGfx 2D图形库的强大支撑。本文将深入解析LibGfx如何通过多引擎架构、硬件加速和优化的渲染管道,为Ladybird浏览器构建高效稳健的图形渲染系统。 ## 图
麒麟V10 ARM64环境下QT5.12.10源码编译实战与踩坑记录
在国产化替代背景下,基于Linux的桌面应用开发常面临依赖库版本不匹配的问题。ARM64架构与x86在指令集、ABI和第三方库兼容性上存在显著差异,许多组件需从源码重新编译。QT作为跨平台GUI应用的主流框架,其源码编译是实现国产系统适配的关键环节。通过合理配置configure参数、安装xcb等系统依赖,并针对性能调优,可在麒麟V10环境中构建稳定且可部署的QT运行环境。该流程广泛应用于政务、金融、能源等行业的业务系统,支撑自主可控的软件交付。本文以联想ARM整机上的实际项目为背景,详细记录QT5.12.
MiniGUI相关
1.如何查看已安装的MiniGUI是哪种模式? 打开/usr/local/include/minigui目录下的mgconfig.h文件查看 cd /usr/local/include/minigui vim mgconfig.h 如图,我的MiniGUI设置的模式为MiniGUI-Processes模式。 ...
OpenCV中文渲染解决方案:MSVC2022编译支持UTF-8文本的64位动态库
OpenCV默认不支持中文显示,本质是其文本渲染模块缺失
FreeType
与HarfBuzz等现代字体引擎,导致cv::putText仅能处理ASCII字符。要实现稳定可靠的中文标注,需在编译阶段深度集成
FreeType
、HarfBuzz和嵌入式字体资源,并严格匹配MSVC运行时ABI。该技术方案不仅解决乱码与崩溃问题,更保障Windows桌面应用(如MFC/Win32)中UTF-8字符串到像素级中文渲染的端到端一致性,适用于工业视觉、AOI检测、嵌入式GUI等对稳定性与部署简易性要求极高的生产场景。
嵌入开发(WinCE)
19,524
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章