【面试攻略】C++面试-发现内存泄漏方法+解决玩家网络卡的问题
1.发现内存泄漏方法
用一个静态变量来记录这个类当前存活的数量,在需要监控的类的基类的构造函数里计数+1,在析构函数里计数-1。
2.在WP微信中是如何发现内存泄漏的。
WP微信使用对象计数的方式来初步发现内存泄漏,如果已经离开一个页面,但这个页面仍然有存活的实例,那么就说明这个页面发生泄漏了。可见要发现UI的内存泄漏,还是很容易的。
怎么解决玩家网络卡的问题
1.客户端插值(解决卡顿):
当客户端A收到服务端发来的玩家B的位置,不是直接瞬移到数据包中指定的位置 ,而是使用插值的方法平滑地插值到新的位置。
2.客户端预测(解决延迟):
客户端根据收到的以往数据来预测玩家接下来的位置。
个人理解,一些个人副本,玩家一个人玩的系统,可以允许前端计算,后端校验的方法,减少前后端协议沟通频率,那么延迟影响就很小。
比如,个人副本,玩家不用每走一步,每放一个技能就给服务器发消息,可以存着多一些再发,如果是假战斗设计可以直接告诉服务器战斗结果,风险就是可能被玩家利用漏洞。
原文 https://blog.csdn.net/qq_16209077/article/details/81416297