Obvious bugs cause some hangs, for example, a thread waiting for an event that is never signaled, and two threads each holding a lock and trying to acquire the others. You can fix those bugs without too much effort. However, many hangs are not so clear.
Yes, the UI thread is not retrieving messages - but it is equally busy doing other 'important' work and will eventually come back to processing messages.
However, the user perceives this as a bug. The design should match the user's expectations. If the application's design leads to an unresponsive application, the design will have to change. Finally, and this is important, unresponsiveness cannot be fixed like a code bug; it requires upfront work during the design phase. Trying to retrofit an application's existing code base to make the UI more responsive is often too expensive. The following design guidelines might help.
Unfortunately, there is no simple way to design and write a responsive application. Windows does not provide a simple asynchronous framework that would allow for easy scheduling of blocking or long-running operations. The following sections introduce some of the best practices in preventing hangs and highlight some of the common pitfalls.
The UI thread's primary responsibility is to retrieve and dispatch messages. Any other kind of work introduces the risk of hanging the windows owned by this thread. Removing long-running or blocking operations from the UI thread requires implementing an asynchronous framework that allows offloading those operations to worker threads. Your application or DLL needs locks to synchronize access to its internal data structures.
Using multiple locks increases parallelism and makes your application more responsive. However, using multiple locks also increases the chance of acquiring those locks in different orders and causing your threads to deadlock.
If not, please update it; if yes, please move on to the next step. Then, you should go to check whether there is any integration with PowerPoint in the antivirus software you installed.
If there is, please disable them all. In addition, you can try to fix PowerPoint not responding or PowerPoint not opening by repairing Microsoft Office as a whole. Click the CPU tab and scroll down the list of running processes until you find the one that's frozen. If it really has locked up, then this should be highlighted in red. If you don't see anything, then maybe it's just busy; switch back to the program and give it another few minutes.
Once you've found the highlighted process, right-click it and select Analyze Wait Chain. If Resource Monitor tells you that the process is "running normally" then it won't be able to do anything to fix the hang.
But if it's showing you that your process is waiting for another, then it'll provide more details - and that means there's still hope. Cloudmark's DesktopOne, for instance, is an excellent spam filter, but in its early beta days was prone to locking up other programs.
EXE checkbox in the Analyze Wait dialog, click End Process, and that was usually it - our frozen program would come back to life, and we could continue using it as before. If you find something similarly non-critical that appears to be blocking an application of yours, then you can do much the same thing: close down the offending process and your app may also start working again.
Report abuse. Details required :. Cancel Submit. Carlo TJ Independent Advisor. Let us work together to sort this out. Once done check for updates and install any updates available. Restart once done and observe your device. Sincerely, Carlo T.
0コメント