为什么最终还是继续采用古老的MFC来制作游戏微端
2022-04-02 本文已影响0人
taiyosen
前言
游戏微端需要实现的功能很简单,一般就是个简易的浏览器,可以打开一个网页,下载配置文件或游戏文件,上传数据或请求数据,启动和管理其它进程。在很长的一段时间里,我一直都是使用古老的MFC来编写游戏微端。
因为项目越来越多,不同项目的微端之间,通常是UI素材和配置不同,程序逻辑基本都差不多。但鉴于MFC这门古老的艺术的原因,做法就是将一个项目不断拷贝,换图了事。
后来我觉得应该换一种更优美的做法,一个项目,通过配置文件,可以支持编译出不同皮肤、具备不同逻辑,且没有冗余资源和代码的微端。由于此前的MFC项目年代久远,要修改一番可不容易。既然要改,何不尝试使用一些现代工具呢?于是我决定使用Qt来实践一下。
体验
首次使用,体验不错,上手容易,写起来比MFC方便多了,各种库唾手可得,写起来很愉快。通过在.pro中启用不同的宏,控制使用不同的资源和代码,就可以很轻松地实现一套项目编译出无数个微端。维护成本大大降低,代码也变得优美了。
image.png
图例,灰掉的是其他项目的代码和资源。
转折
然而就在准备部署发行之际,发现使用windeployqt发布出来,各种依赖的库数量多得惊人且体积感人。当然,你可以通过静态编译和精心裁剪来降低依赖库和文件的数量和尺寸,但是相比于用MFC制作出来1M的体积,瞬间就只能抛弃这个方案了~再怎么精简,至少也有几十M。
结语
还是MFC写微端香。