我有一个多人游戏,随着越来越多的玩家被烧毁,已经开始产生一些奇怪的错误.
对于数据库/小时大约有150万个查询,我认为问题是有些查询在其他查询完成之前就已经执行了,因为之前我没有遇到任何问题,随着更多人注册,我越来越多.
我有两个主要类:"sendTurn.php"和"removePlayer.php".如果一名球员花了很长时间做出回应,他就会被踢出局.但是我猜这个问题是如果一个球员轮到他的话会发生什么,就像他被踢出去一样?
我在某处读到了查询被放入队列中,但由于每个类需要几个查询来完成它,所以有可能在例如"sendTurn.php"中途完成时(完成前1-2个查询) )另一个类"removePlayer.php"将开始执行其查询?
在这种情况下,我该怎么办?
编辑:
我在debian VPS服务器上使用apace2,使用phpmyadmin
我有一个只包含这个的应用程序:
- (void)viewDidLoad
{
[super viewDidLoad];
//Authenticate Local GameCenter player
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error)
{
[GKTurnBasedMatch loadMatchesWithCompletionHandler:^(NSArray *matches, NSError *error)
{
}];
}];
}
Run Code Online (Sandbox Code Playgroud)
马上,我得到了大量的泄漏.难道我做错了什么?我用ARC.

我正在使用下面的脚本,因此用户可以上传他们的个人资料图片.第一次上传图像(当图像不存在于该位置时),它的效果很好.但是,如果图像已存在于路径中(如果用户尝试更改配置文件图片),则新图像将不会替换旧图像.我确实获得了查询的成功.
任何帮助将非常感谢!
谢谢
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
require_once('db.php');
$name = $_POST['name'];
$dir = '../uploadImages/';
$file = basename($_FILES['image']['name']);
$uploadfile = $dir . $file;
if(move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile))
{
$path = $name;
$path .= 'Image.png';
$query = mysql_query("UPDATE users SET imagePath='$path' WHERE username='$name'");
if ($query)
{
echo 'success';
}
else
{
echo 'error';
}
}
else
{
echo mysql_error();
}
?>
Run Code Online (Sandbox Code Playgroud) 我正在制作一个在线游戏(希望每小时有数千名玩家),它对mysql数据库使用了不少查询.在发布之前,如果我可以模拟大量使用来查看性能,那就太好了.反正有没有这样做?
提前致谢
我厌倦了不断创建图像,然后必须复制,调整大小和重命名以支持视网膜和非视网膜iphone.如果只是将图像拖到脚本中,是否可以自动执行此脚本?
将调用原始图像:image@2x.png ...我希望脚本将其缩小50%并在结尾处删除"@ 2x".
提前致谢
我想知道我是否做得对:
如果我有一个区块,我会这样做:
__weak MyClass *weakSelf = self;
[self performBlock:^{ //<< Should I use self, or weakSelf here?
[weakSelf doSomething];
} afterDelay:delay];
Run Code Online (Sandbox Code Playgroud)
但是如果块中存在块,会发生什么?这是正确的吗?
__weak MyClass *weakSelf = self;
[self performBlock:^{
[weakSelf doSomething];
[self performBlock:^{
[weakSelf doSomething];
} afterDelay:1.0f];
} afterDelay:delay];
Run Code Online (Sandbox Code Playgroud)
另外,在下面的功能中,我是否需要使用[块复制]?
- (void)performBlock:(void (^)(void))block afterDelay:(float)delay
{
if (block)
{
if (delay > 0)
{
[self performSelector:@selector(executeBlockAfterDelay:) withObject:[block copy] afterDelay:delay];
}
else
{
[self executeBlockAfterDelay:[block copy]];
}
}
}
- (void)executeBlockAfterDelay:(void(^)(void))block
{
if (block)
block();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试优化我的应用程序的性能,并玩弄shouldRasterize.
我有一个背景视图,顶部有一个不透明的子视图.如果我将子视图设置为shouldRasterize,则在检查"颜色离屏渲染"时会变为黄色.
如果我已经正确理解了它,你应该尝试最小化屏幕外渲染,但是应该在静态子视图中使用isRasterize来提高性能吗?
我应该继续shouldRasterize上下车吗?
谢谢
我不小心通过点击“下载 zip”而不是进行克隆来将存储库下载到新机器上。
我在做了很多更改后注意到,现在我在提交并将新更改推送到 github 时遇到了问题,因为 git repo 未包含在 zip 中。
我能做什么?
谢谢
我正在制作一个基于转折的游戏.为了防止用户作弊,如果用户在转弯中间关闭应用程序,转弯将自动传递给对手.这是因为用户无法关闭应用程序,重新启动它,并从头开始转弯.
但是有两种情况会对玩家造成不利影响.如果有电话呼入,或出现电池电量不足警告.我可以检测到来电并回复,但我不知道该如何处理电池?
任何建议都会很棒
我有一个NSObject类别来在一段时间后执行块.在这种情况下,我是否需要弱自我?
__weak ViewController *weakSelf = self;
[self runBlockAfterDelay:0.6 block:^{
weakSelf.someview = ...
}];
// Category
- (void)runBlockAfterDelay:(NSTimeInterval)delay block:(void (^)(void))block {
dispatch_async(dispatch_get_main_queue(), ^{
[self performSelector:@selector(executeBlockAfterDelay:) withObject:[block copy] afterDelay:delay];
});
}
- (void)executeBlockAfterDelay:(void(^)(void))block
{
if (block)
block();
}
Run Code Online (Sandbox Code Playgroud) ios ×5
objective-c ×5
iphone ×3
php ×3
xcode ×3
mysql ×2
applescript ×1
block ×1
gamekit ×1
git ×1
instruments ×1