我正在尝试调试我的游戏代码。我正在为 iOS 开发游戏,我的代码使用了很多 IF 语句。我想知道使用这些时性能是否会受到很小的影响。
谢谢
当然,分支时会影响性能。
但是没有分支就无法做出合理的程序。
因此,使用if
, 如果通过分析您的程序在代码中的特定位置检测到问题,请尝试查看是否可以减少分支数量或将它们排除在循环之外。但是只要代码保持清晰,就不要太在意它。
大多数时候,众多的第一个影响if
是可读性和可维护性。但过早的优化通常对这些主题产生更大的影响。
这取决于您在哪里使用 if 语句,以正确的方式使用 if 有一些性能
我会陈述其中的一些
而不是这个
BOOL isCase1 = [self isCase1];
for (int i = 0 ; i < 10000 ; i ++)
{
if(isCase1)
{
//do something
}
else
{
//do some other thing
}
}
用这个
BOOL isCase1 = [self isCase1];
if(isCase1)
{
for (int i = 0 ; i < 10000 ; i ++)
{
}
}
else
{
for (int i = 0 ; i < 10000 ; i ++)
{
}
}
在确定之前不要假设您需要提高性能,大多数时候您的性能表现良好,如果您确定某些代码会导致性能问题,请改进它(不要过早优化您的代码)
这些是一些案例,还有更多
更新:
您可以做一些其他有用的事情,缓存您的布尔检查语句
例如
代替
for (int i = 0 ; i < 10000 ; i ++)
{
if([self isCase1]) //Do some thing
}
利用
//Cache the result inside a variable
BOOL isCase = [self isCase1];
for (int i = 0 ; i < 10000 ; i ++)
{
if(isCase) //Do some thing
}