游戏运行效率

cocos2dx《单机斗地主》源码解剖之六 玩家(人)的出牌(1)          -----------------    http://blog.csdn.net/oiy37215/article/details/43795819

--------------//卡的走不动, 如何提高体验/帧率:

     通过上下对比. for时多加一些判断, 符合条件在执行

 

void UIChat::autoWrapStringByWidth(std::string &str, float fWidth)
{
Label *_label = Label::createWithSystemFont("", "", 36);   

for (int i = 0; i<str.length(); ++i)
{
  std::string _strTemp(str.begin(), str.begin() + i);
  _label->setString(A2U8(_strTemp));
  if (_label->getContentSize().width > fWidth)
  {
   str.insert(str.begin()+(i), '\n');
  // return;
  }
}
/*
string subStr;
Label* label = Label::createWithSystemFont("", "", 36);
int subN = 0;
int nCount = 0;
for (int i = 0; i < str.length(); i++)
{
  if ((subN + nCount) < str.length())
  {
   subStr = str.substr(subN, nCount);
   label->setString(A2U8(subStr));
   if (label->getContentSize().width >= fWidth)
   {
    str.insert(i - 1, "\n");
    subN = i;
    nCount = 0;
   }
   nCount++;
  }
}
*/
return;
}

//****************************************************改进

 

 Label *_label = Label::createWithSystemFont("", "", 36);
 std::string _content = str;
 WjsUtf82AsciiEx(_content);         //编码方式转2次就没了

 for (int i = 0; i < str.length(); ++i)
 {
  if (i > 40 && i <48) //22个汉字            -----------------就加一个判断就不卡了 --- 加在最外层
  {
   std::string _strTemp(str.begin(), str.begin() + i);
   _label->setString(A2U8(_strTemp));
   if (_label->getContentSize().width > fWidth)
   {
    str.insert(str.begin() + (i), '\n');
     break;            -------------------------------------优化 减少循环
   }
  }
 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pygame是一个使用Python编程语言开发的游戏开发库,它提供了丰富的功能和工具来快速开发游戏。在评估Pygame的运行效率时,我们可以从以下几个方面来考虑。 首先,Pygame是基于SDL(Simple DirectMedia Layer)库开发的,它是一个跨平台的多媒体库,可以高效地处理音频、图像和输入设备。由于SDL的优秀性能,Pygame能够在不同平台上运行,并且具备良好的游戏流畅度。 其次,Pygame采用了双缓冲机制,这意味着它可以更高效地显示图像。双缓冲可以避免图像闪烁和撕裂现象,有效提升游戏的绘制效率。 第三,Pygame提供了硬件加速的功能,通过利用计算机的硬件资源,可以加快游戏运行速度。例如,Pygame可以利用图形卡的硬件加速功能来处理复杂的图形渲染,从而提升游戏的性能。 第四,Pygame还有一些优化选项和函数,可以帮助开发者减少代码的执行时间。例如,使用Pygame的sprite模块可以更高效地处理游戏中的精灵对象,从而加快游戏的更新速度。 最后,Pygame的运行效率也与开发者的编程技巧有关。优化游戏逻辑、合理使用资源、减少不必要的计算,都可以提升Pygame的运行效率。 综上所述,Pygame在处理图形、音频和输入方面具有良好的运行效率,可以满足常见游戏的需求。然而,对于复杂的3D游戏或需要处理大量精细图像的游戏,Pygame的性能可能会受到限制。在这种情况下,可能需要考虑使用其他专门针对高性能游戏开发的库或引擎。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值