gfx使用嵌入字体时的优化

本文讨论优化多个进程在共用gfx嵌入字体的过程.

flash做界面有着天然的优势.随着gfx的发展也看到越来越多的游戏使用gfx做界面工作.

本项目组使用gfx也有几年时间了,这次接了个棋牌项目,很自然的就想使用flash作为界面.

与客户端项目不同的是单个棋牌游戏必须保持"身材瘦小".都能保持在5M以下是比较满意的.而且启动速度越快越好.

gfx使用的字体方案分为两种.

一种是系统字体.Windows字体或FT.

一种是嵌入字体即将整个字体库嵌入到swf文件当中,一个字体大概就在5M左右.粗体,斜体都算另一种字体.

gfx有着自己的字体渲染系统,在使用系统字体时会有明显的锯齿.对于一些应用来说是不可接受的.

但使用嵌入字体一是大小增加了近20M.共用文件又使游戏间产生了依赖关系.二是启动时读取一个大文件会影响启动速度.

于是想到使用共用内存来解决依赖关系并减少IO读取,提高启动速度.

Windows下合适的方案就是文件映射了.由于不存在写操作.所以不需要同步.整个过程非常简单.


fontfilemaping.h

#pragma once

#include <Windows.h>
#define FONTLIBMOVIE		"fonts_cn.swf"

//为gfx本地化字库做内存共享
class FontFileMaping
{
public:

	FontFileMaping();
	~FontFileMaping();

	bool	CreateFontFileMaping( void );

	void	OpenFontFileMaping( void );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值