背包是一个很大的模块。虽然系统很简单,但由于涉及到大量的道具[的数据以及操作],因此对性能的考验也很足。
今天看前人写的代码,最大的问题就是,不管单个或者批量出售道具,服务端都是一个一个返回成功与否的消息的,也就是说,当出售完成后,我要刷新一次背包;现在问题来了,假设我要卖出50个道具,那么我得刷新50次背包,假设刷新一次需要0.1秒,那么50次下来,不考虑消息的延迟之类的,差不多需要5秒!我们的背包有120个空间,如果120都可以卖出,那么最糟糕的情况就要花12秒来完成刷新,而这过程给用户最直观的感受就是卡,很卡,超级卡!所以说,不能这么做啊,兄弟!还不如一次性返回卖出成功或剩下的道具列表,这样每次客户端就只需要刷新一次。
明天再整吧,看到这样的设计真想喊一声,能不能长点心。
以上。
网友评论