OpenMSX Git (2016/02/29) is complie. OpenMSX is an open source MSX emulator which is free according to the Debian Free Software Guidelines, available under the GNU General Public License.For copyright reasons the emulator cannot be distributed with original BIOS ROM images. OpenMSX includes C-BIOS a minimal implementation of the MSX BIOS, allowing to play quite some games without the need to have an original MSX BIOS ROM image. You can also use your own BIOS ROM image if you please.
OpenMSX Git Changelog:
* Cancel after-callback when reusing text_box widget
See this thread for the original problem description:
https://www.msx.org/forum/msx-talk/openmsx/frame-by-frame-processing-slowdown-issue
Summary plus analysis of the problem:
- OpenMSX is asked to take a screenshot every frame.
- Taking a screenshot prints a OSD message, this uses a text_box widget.
- A text_box widget registers 2 after callbacks, one for the fade-out and one
for the on-click action.
- When the text_box widget is destroyed or, like in this scenario, reused for
the next message, only the on-click callback is canceled. We forgot to cancel
the fade-out callback.
- The fade-out callback triggers after 2.5 seconds. But if at that time the
text_box widget still exists (it does in the above scenario), a new
(additional) fade-out callback is scheduled.
- So the total number of callbacks keeps on growing over time. (At least for as
long as the screenshot script keeps running. After it's stopped, or paused
for 2.5s, everything returns to normal).
As is often the case: once the problem is know, fixing it isn't too hard. So
this patch also cancels the fade-out callback when reusing a text_box widget.
Download: OpenMSX Git (2016/02/29) x86
Download: OpenMSX Git (2016/02/29) x64
Source: Here
0 Comments
Post a Comment