TGFX —— 跨平台 2D 绘图引擎
TGFX (Tencent Graphics) 是一个轻量级 2D 图形库,设计用于渲染文本、几何图形和图像。它提供高性能的 API,可在各种 GPU 硬件和软件平台上运行,包括 iOS、Android、macOS、Windows、Linux、Web 等。
TGFX 最初是作为 PAG 项目的核心组件创建的,从 4.0 版开始成为 libpag 库的默认图形引擎。它的主要目标是在保持更小二进制文件大小的同时,为 Skia 图形库提供令人信服的替代方案。随着时间的推移,它已被许多其他产品采用,如 Hippy、腾讯文档和各种视频编辑应用程序。
包体优化
TGFX 最终以 400K 左右的大小覆盖了 Skia 近 2M 包体的绝大部分功能。核心优化策略主要有两点:
调度优化
TGFX 并不只是做 Skia 的简化,还把一些在业务上调用起来非常复杂的通用性流程进行了抽象封装:
在性能和架构方面,还做了这些额外的优化:
- 默认开启了 HardwareBuffer 的支持,来全面加速纹理的提交,包括 Android 端。
- 暴露了引擎内部 Path 对应的 GPU 高速缓存,避免矢量绘制充分进行三角剖分操作。
- GPU 对象支持在任意线程释放,等关联的上下文激活时才清理,避免随机 Crash 问题。
- 约束图片解码完会尽可能只缓存 GPU 的纹理部分,理论上全局可以降低一半的内存占用。
- 将绝大部分缓存都交给了上层业务精确管理,避免随机绘制的缓存持续占用额外的内存。
- 在全平台都实现了默认字体的读取能力,包括浏览器,避免下载上百兆 CJK 字体的压力。
- 增加了对各种硬解视频帧格式的直接绘制能力,可以一次性上屏无需通过 CPU 转换格式。
- 放弃了 SKSL 的统一 Shader 语言设计,更加符合原生接口调用习惯,既节省了包体,也减少了 GPU Program 的编译耗时。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux 基金会创建高性能软件基金会 (HPSF)
Linux 基金会宣布,他们正在组建高性能软件基金会(High Performance Software Foundation, HPSF),以帮助推进高性能计算 (HPC) 核心开源项目的发展,包括 Spack, Kokkos, AMReX, VTK-m, HPCToolkit, E4S, Charliecloud, WarpX,以及其他面向 HPC 的项目。 部分国家实验室,知名科技公司如英特尔、英伟达和其他利益相关者已经参与其中(暂未发现 AMD 参与)。 HPSF 已制定了明确的目标: 成为高性能软件生态系统中关键项目的中立家园; 在开源社区和组织中推广 HPSF 项目的使用; 提供透明的治理模式,让政府、行业和学术界的利益相关者共同管理生态系统; 提供清晰的路径来孵化和启动有前景的新项目; 通过提供 CI 和 turn-key 构建,确保 HPC 软件可访问且可靠; 通过与 CNCF 和 OpenSSF 合作,确保 HPC 软件安全并为上云做好准备; 赞助活动和培训,为 HPSF 生态系统中的软件培养一支多元化、熟练的劳动力队伍。 更多内容查看官方新闻稿。
- 下一篇
英伟达发布 AI 芯片 H200
英伟达昨晚正式发布了 AI 芯片 H100 GPU 的后续产品 HGX H200 GPU,可大幅提高大语言模型的能力。 据悉,HGX H200 GPU 基于英伟达的“Hopper”架构,相比前代产品内存带宽增加了1.4倍,内存容量增加了1.8倍。H200 GPU使用了HBM3e 内存的芯片,能够以每秒 4.8 TB 的速度提供 141GB 的内存。 英伟达表示,H200更大、更快的内存可加快生成式人工智能和大语言模型的速度,与 H100 GPU 相比,H200 在处理 Llama2 等大语言模型时可将推理速度提高 2 倍。 H200 还与已经支持 H100 的系统兼容。英伟达表示,客户在添加H200时不需要做任何改动。亚马逊、谷歌、微软和甲骨文的云计算部门将在明年率先使用到新的 GPU。 预计H200将于2024年第二季度上市,届时将与AMD的MI300X GPU展开竞争。与H200相似,AMD的新芯片相比前代产品拥有更多内存,这对运行大型语言模型的推理计算有帮助。 据美国金融机构Raymond James透露,H100芯片的成本仅为3320美元,但英伟达对其客户的批量价格却高达2.5...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题