标签: freeze

AndEngine游戏的优化

我在游戏中使用java + AndEngine.

在游戏中我有一些冻结,我寻找信息,并找到了如何优化游戏性能的一些步骤:

  1. 避免在游戏中的主要动作中调用GC(垃圾收集器):
    a)在游戏时不要创建对象;
    b)不要制造不必要的物品;
  2. 优化经常重复的代码

我遵循了这些步骤,但从来没有在游戏过程中遇到过一些冻结.

现在我在游戏开始之前创建并加载所有纹理并且不卸载它们,这是一个坏主意吗?我如何优化游戏过程?也许我必须在主要活动之前释放所有可能的内存,然后在每个级别之后重新加载它们?

performance android freeze game-physics andengine

11
推荐指数
4
解决办法
6812
查看次数

应用程序在Visual Studio外冻结.从Visual Studio启动时它可以工作

我慢慢地过度工作......

我有一个庞大的应用程序,包括线程,计时器,调用(不是BeginInvoke,因此它是同步的)和Application.DoEvents.

在这里发帖太多了,我不知道问题究竟在哪里.

我的每一种方法都在尝试捕获.记录每个渔获量.

如果我从Visual Studio(F5)启动应用程序或通过Ants进行性能分析,则没有问题.应用程序运行了几天.但是,只要我通过Windows资源管理器启动相同的调试版本,它就会每隔几个小时冻结一次.它会毫无例外地冻结.如果我将visual studio附加到此应用程序并将其分解,它将在Application.Run上停止(new Form1());

我真的很困惑,也不知道要修复它.

这是一个.net 3.5 winforms应用程序

它看起来像一个线程挂在这里:

if (grabber.InvokeRequired)
{
    Console.WriteLine("grabber.InvokeRequired");
    this.Invoke((MethodInvoker) delegate { grabber.Navigate("http://www.google.de"); }); // <-- hang
}
else
{
    grabber.Navigate(ig.StartUrl);
}
Run Code Online (Sandbox Code Playgroud)

此片段是计时器事件的一部分

_timeout = new System.Timers.Timer(10000);
_timeout.Elapsed += new ElapsedEventHandler(OnWatchDogBark);
Run Code Online (Sandbox Code Playgroud)

编辑

DoEvents()的示例.这是在lock()和调用中

grabber.DocumentCompleted -= grabber_DocumentCompleted;
grabber.Navigate("http://www.google.de");

while (grabber.ReadyState != WebBrowserReadyState.Complete)
{
    timeout--;
    Application.DoEvents();
    Thread.Sleep(200);

    if (timeout < 0)
    {
        timeout = 50;
        grabber.Navigate("http://www.google.de");
    }
}
Run Code Online (Sandbox Code Playgroud)

目前我使用System.Windows.Forms.Timer和一些锁,但没有任何改进.

好吧,我使用WinDbg来获取一些信息

编辑:2012年6月14日

!线程

                                      PreEmptive   GC Alloc           Lock
       ID OSID ThreadOBJ    State     GC       Context       Domain   Count …
Run Code Online (Sandbox Code Playgroud)

c# freeze visual-studio-2010 visual-studio-2008

11
推荐指数
1
解决办法
3459
查看次数

应用挂起__psynch_mutexwait

我们的应用似乎是半随机挂在psynch_mutexwait.它似乎与更新存储在CoreData中的大量数据的后台进程有关 - 但我完全无法弄清楚是谁锁定导致死锁的原因.

以下是lldb给我的完整堆栈跟踪 - 这显然是不完整的,并且线程1的最后一帧是伪造的.在那之前,我在该方法中有一个断点,它从未被击中过.

是否有任何方法可以确定正在等待什么锁?(或者甚至获得正确的堆栈跟踪?)当然,涉及很多代码,这使得随机NSLog语句成为一项艰巨的任务.

(lldb) bt all
* thread #1: tid = 0x2503, 0x39da20fc libsystem_kernel.dylib`__psynch_mutexwait + 24, stop reason = signal SIGSTOP
    frame #0: 0x39da20fc libsystem_kernel.dylib`__psynch_mutexwait + 24
    frame #1: 0x39ceb128 libsystem_c.dylib`pthread_mutex_lock + 392
    frame #2: 0x00022068 OnDeck`-[AttendanceWorkoutsController buildTable](self=0x00000003, _cmd=0x00000000) + 508 at AttendanceWorkoutsController.m:100

  thread #2: tid = 0x2803, 0x39d92648 libsystem_kernel.dylib`kevent64 + 24
    frame #0: 0x39d92648 libsystem_kernel.dylib`kevent64 + 24
    frame #1: 0x39ccb4f0 libdispatch.dylib`_dispatch_mgr_invoke + 796

  thread #5: tid = 0x2b03, 0x39d91eb4 libsystem_kernel.dylib`mach_msg_trap + 20
    frame #0: 0x39d91eb4 …
Run Code Online (Sandbox Code Playgroud)

multithreading mutex core-data freeze ios

11
推荐指数
2
解决办法
4959
查看次数

CGFontCreateWithDataProvider在飞行模式下挂起

当我CGFontCreateWithDataProvider 在飞机模式下拨打电话,我的应用会冻结.不是飞机模式,它工作正常.字体存储在设备上,不应该发生网络访问.

在调用此方法加载本地字体文件时:

[self registerIconFontWithURL:[[NSBundle mainBundle] URLForResource:@"FontAwesome" withExtension:@"otf"]];
Run Code Online (Sandbox Code Playgroud)

的值url在下面的方法是: 文件:///var/mobile/Applications/48D3DA14-235B-4450-A081-7A6BA6116667/Blah.app/FontAwesome.otf

+ (void)registerIconFontWithURL:(NSURL *)url
{
    NSAssert([[NSFileManager defaultManager] fileExistsAtPath:[url path]], @"Font file doesn't exist");
    CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)url);

//******Freezes after the next line******
    CGFontRef newFont = CGFontCreateWithDataProvider(fontDataProvider);
//******FROZEN******

    CGDataProviderRelease(fontDataProvider);
    CFErrorRef error;
    CTFontManagerRegisterGraphicsFont(newFont, &error);
    CGFontRelease(newFont);
}
Run Code Online (Sandbox Code Playgroud)

iOS 7.1.x,iPhone 5.

我不知道为什么会发生这种情况并且无法找到任何帮助.有没有人知道为什么会发生这种情况?

提前致谢!

fonts objective-c freeze ios

11
推荐指数
1
解决办法
1690
查看次数

冻结Rails版本/宝石有什么意义?

那是什么意思?

在一个项目的说明中,它说"冻结Rails宝石".这与冻结Rails版本有什么不同?

什么是冷冻的?

ruby rubygems ruby-on-rails freeze

10
推荐指数
1
解决办法
2055
查看次数

在显示工具提示消息之前,Eclipse会挂起3-4秒

我疯狂地搜索了互联网,但是"WTP冻结"或"Eclipse冻结"产生了许多不同的结果,几乎不可能找到合适的结果.我有以下问题.

在HTML或CSS编辑器中,当我意外地将鼠标悬停在属性值上时,Eclipse会在CPU加载100%时挂起3-4秒,然后生成一个工具提示消息,其中包含有关标记及其属性的一些信息.我不需要那些提示.天哪,我甚至不需要语法着色,如果这会阻止我这个挂起.

我尝试禁用所有自动完成功能,看似相关的所有内容,但这并没有改变一点.我找了一个设置来完全禁用WTP而不卸载它,但是再次 - 没有运气.

我使用Eclipse Helios.我有所有最新的插件.如果需要,我会提供任何其他信息.

有没有人有类似的问题,能够解决它?这真让我疯狂.

BOUNTY

赏金将发送给任何找到方法或解决方法的人,这将使弹出窗口合理快速.我在Eclipse的许多地方遇到过这个问题 - 例如PyDev:

Eclipse PyDev完成挂起(又一次)

我有强烈的程序感觉,这是弹出窗口的一般问题,而不是WTP/PyDev.以下是我已采取的措施:

  • 从头开始安装最新的Eclipse
  • 在这个干净的安装上安装了两个有问题的插件(WTP/PyDev)
  • 确保Eclipse有足够的内存
  • 确保选择适当的JVM

我的设置是Ubuntu Natty,Oracle Java 1.6 - repos中的最新版本

进一步发现

好吧,我刚刚发现99%的冻结时间花在了一个org.eclipse.swt.internal.gtk.OS._gtk_widget_realize似乎不对的电话里面.有线索吗?

我鼓励所有遇到过这个问题的人在Eclipse bug跟踪器上投票支持这个bug.

html eclipse editor freeze eclipse-wtp

10
推荐指数
1
解决办法
1831
查看次数

Spin Control.app的替换

由于Apple已经放弃了Spin Control.app-无响应的状态进程监控和日志记录实用程序 - 我需要更换.

我知道我可以spindump直接使用,但我真的很喜欢它的自动图形前端.

谁能建议一个好的替代品?

我的需求是:按名称自动对我的进程进行采样,并在进程无响应时存储日志.

debugging macos xcode freeze

10
推荐指数
2
解决办法
2332
查看次数

调试时Xcode失去与设备的连接

我的应用程序最近开始表现出一种奇怪的行为.当我从Xcode构建并运行时,应用程序将启动,直到它从动画启动屏幕转换到我的应用程序的主屏幕.此时,Xcode表示"已完成在设备上运行您的应用程序",应用程序本身有时会继续在设备上运行,或者有时会冻结.

一旦发生这种情况,Xcode就像我的设备断开连接,直到我物理上拔下并重新插上USB电缆.

以前有人碰到这个并找到了解决方案吗?

潜在相关,我最近开始看到"设备无法识别此主机"错误(这里这里提到),虽然我的应用程序不使用权利.

连接丢失的屏幕截图

iphone debugging xcode freeze

10
推荐指数
1
解决办法
5657
查看次数

Eclipse在Ubuntu上冻结了UI

我最近安装了ubuntu 16.04(自动更新到这个版本),我通常用Java开发,我知道eclipse,所以我安装它,一切都很好.

我配置了所需的一切(Java路径,JDK ......没什么特别的),工作正常,除了Eclipse UI.

每次我创建一个项目时UI都会冻结(虽然项目是正确创建的),每次我运行任何程序时(尽管程序运行正常(不总是正确的xD,但这是我的错)),以及许多其他任务.

知道为什么会这样吗?甚至更好,如何解决?

我还仔细检查了我使用的JRE(因为我发现人们遇到了开源软件的问题),我使用的是oracle的版本(现在还不确定这个名字,抱歉,版本8).它是64位版本的一切.

编辑:我忘了提到我使用火星版.另外,我刚刚安装了NetBeans(8.1),完全相同的问题,然后我认为这是图形驱动程序的问题,再次安装,仍然有同样的问题.不知道现在该尝试什么.

更新:检查日志文件.我觉得没什么奇怪的,但可能会遗漏一些东西:

!SESSION 2015-12-04 13:24:38.930     -----------------------------------------------
 eclipse.buildId=4.5.1.M20150904-0015
 java.version=1.8.0_66
 java.vendor=Oracle Corporation
 BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=es_ES
 Command-line arguments:  -os linux -ws gtk -arch x86_64

 !ENTRY org.eclipse.core.resources 2 10035 2015-12-04 13:24:40.542
 !MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
Run Code Online (Sandbox Code Playgroud)

更新2:我只是运行@dan建议的命令.这是结果

 "main" #1 prio=6 os_prio=0 tid=0x00007f0ec000a000 nid=0x26e0 runnable [0x00007f0ec9a18000]
   java.lang.Thread.State: RUNNABLE
    at org.eclipse.swt.internal.gtk.OS._gtk_widget_get_allocation(Native Method)
    at org.eclipse.swt.internal.gtk.OS.gtk_widget_get_allocation(OS.java:14234)
    at org.eclipse.swt.widgets.Control.getBounds(Control.java:832)
    at org.eclipse.jface.fieldassist.ControlDecoration.getDecorationRectangle(ControlDecoration.java:1185)
    at org.eclipse.jface.fieldassist.ControlDecoration$3.paintControl(ControlDecoration.java:635)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:230) …
Run Code Online (Sandbox Code Playgroud)

java eclipse ubuntu user-interface freeze

10
推荐指数
3
解决办法
9309
查看次数

Opencv imshow()在更新时冻结

对于我的图像处理算法,我使用的是python/OpenCV.我的算法输出应该在同一个窗口一遍又一遍地更新.

然而,有时窗口冻结并且根本不更新,但算法仍在运行并且同时多次更新图片.在这台Ubuntu机器上,窗口变成深灰色.

以下是相关代码的摘录:

for i in range(0,1000):
    img = loadNextImg()
    procImg = processImg(img)
    cv2.imshow("The result", procImg)
    cv2.waitKey(1)
Run Code Online (Sandbox Code Playgroud)

注意:processImg()程序大约需要1-2秒.该行在cv2.imshow(procImg)第一个实例中创建窗口(即没有先前的调用)

python opencv image-processing freeze imshow

10
推荐指数
4
解决办法
1万
查看次数