游戏的优化内容摘要:

据结构的尺寸,让数据尽量紧凑的放在一起 数据对齐 了解内存的工作方式 内存管理优化  C++ 提供了更灵活的内存管理机制  new/delete 不一定是最好的方式 (STL就不用 ) 自定义内存分配器 方便调试 分配速度和内存碎片同样重要 注意分离模块的问题 DLL 最容易出错 算法  C++ 更适合实现更复杂的游戏引擎 引擎的复杂度提升,层次的增加,会降低效率 更高的复杂度是为了宏观上的优化 脏矩形 问题 脏矩形的合并算法并不简单 合并后的脏区域并不是一个矩形,不方便做图片裁减 有许多的物体在屏幕上移动 卷动屏幕 图像引擎设计的复杂度 改进的脏矩形 分格处理 渲染管道 绘图操作对象化 滚动优化 更大的 back buffer 破碎的分格 覆盖优化 C++的高级特性 天使还是恶魔 ? Template 避免重复的代码 void _blit(pixel *dst,const pixel *src,size_t s,bool mask_blit) { for (size_t i=s。 i!=0。 i,++dst,++src) { if (!mask_blit || *src!=mask_color) *dst=*src。 } } template bool mask_blit void _blit(pixel *dst,const pixel *src,size_t s) { for (size_t i=s。 i!=0。 i,++dst,++src) { if (!mask_blit || *src!=mask_color) *dst=*src。 } } void blit(pixel *dst,const pixel *src,size_t s) { _blitfalse(dst,src,s)。 } void mask_blit(pixel *dst,const pixel *src,size_t s) { _blittrue(dst,src,s)。 } 矩阵运算  Matrix。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。