View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001771 | OpenMPT | General | public | 2024-04-06 16:03 | 2024-04-07 19:55 |
Reporter | timmyLaJimmy | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | random |
Status | closed | Resolution | no change required | ||
Platform | x64 | OS | Windows | OS Version | 10 |
Product Version | OpenMPT 1.31.06.00 / libopenmpt 0.7.6 (upgrade first) | ||||
Summary | 0001771: Random Freezing in Large Modules | ||||
Description | When working in a large module (i.e., one with a lot of instruments or plugins), every couple of minutes, OpenMPT will freeze without warning, and audio playback and mouse/keyboard input will hang for several seconds, then all abruptly come back at the same time. After this, OpenMPT with run perfectly fine, until a few minutes later when this freezing randomly occurs again. | ||||
Steps To Reproduce | Load in 30 or more instruments (they don't have to be plugins), and pretty much just wait for the freezing to occur. | ||||
Additional Information | I believe that this issue has something to do with the amount of instruments loaded in; loading in a large amount of plugins typically causes severe slowdown, not freezing. | ||||
Tags | No tags attached. | ||||
Has the bug occurred in previous versions? | Yes | ||||
Tested code revision (in case you know it) | |||||
That sounds like OpenMPT is autosaving the song (and any other songs that might be open at the same time) - although in that case, audio playback should continue, only interaction with the GUI should be blocked. Do you observe a similar delay when manually saving the same file? |
|
Yes, it does occur when saving, and (now that you mention it) if the song is playing when the tracker freezes, the song continues to play in the background. I should also probably mention that when OpenMPT freezes, usually the application is marked as "(Not Responding)", which, if you start clicking or pressing buttons, can lead to a full-on crash. |
|
That's not a crash. When Windows shows you the "not responding" dialog, you can choose not to click on anything and wait until it becomes responsive again. Just let it sit there until it is done saving. However, it's quite surprising that you even see that dialog popping up with just a few dozen instruments. How many megabytes of sample data are we talking about here, and and how many VST plugins, if any? Are you saving to a spinning hard disk or SSD, or even worse, maybe a thumb drive? Does turning off sample compression help? |
|
Forgive my ignorance; I'm not really sure how to easily find the amount of sample data, since all of my instruments are .sfz files pulling their samples from various folders. |
|
Just give me the size of the resulting module file - the biggest amount of that will be the samples themselves. Assuming that you are currently working in IT format, what can help with large SFZ files is using the MPTM format instead during composition (it is a superset of IT); that way, the samples from those SFZ instruments will by default not be embeded in the module file itself but references to the original sample files will be stored instead. Once you are done with the composition, you can convert it to IT format (use the Cleanup functionality to further reduce the size and get rid of unused samples). |
|
The module file is a hefty 476 megabytes; I tend to use the same module file and use sequences to separate my songs. |
|
I see, that is a whole truckload of samples. By setting the sample compression values from 7 to 6, you are not fixing this particular situations as you are working in the MPTM format (7 = 1+2+4, 6 = 2+4 so both values include 4 for MPTM). You would have to set the sample compression settings to 3 (for mono) and 0 (for stereo) to enable the default sample compression settings for IT files but disable it for MPTM. If you modify the samples, there is no direct way around embedding them in the song, so "embed all" was the only sensible choice in that particular case. What I would recommend in your particular situation is a "project folder" approach: Have a dedicated folder for the MPTM file and WAV or FLAC samples to go into the same folder. You can achieve this by Shift-clicking the Save button in the sample editor to save all samples in the current module, and then choose the folder the MPTM file is located in to save them all in the same place. Then shift-click the "Keep sample data on disk" checkbox in the sample editor so that all samples are marked as external samples. This has the advantage that samples are not saved during regular save and autosave. You only need to update the sample files when a sample is being edited from the sample editor, but OpenMPT will remind you to do so if you are about to close the song if any modifications were made. This should greatly speed up regular saving and also autosaving. Unfortunately there is no better way to do this at the moment - allowing the user to continue using OpenMPT while saving is in progress could lead to all sorts of inconsistencies during file save (imagine you are deleting a sample while the module is being saved; what is it supposed to do when it gets to saving that particular sample?). There might be improvements to this process in the future, but until we get there, I can only recommend using the project folder approach. |
|
Well, it's something, anyhow. Thanks so much for your time and promptitude! |
|
As a small improvement to this situation, the next OpenMPT version will display in the status bar when it's auto-saving a file, so that it's a bit clearer what is happening. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2024-04-06 16:03 | timmyLaJimmy | New Issue | |
2024-04-06 16:05 | Saga Musix | Note Added: 0005910 | |
2024-04-06 22:36 | timmyLaJimmy | Note Added: 0005911 | |
2024-04-06 22:45 | Saga Musix | Note Added: 0005912 | |
2024-04-06 23:13 | timmyLaJimmy | Note Added: 0005913 | |
2024-04-07 09:58 | Saga Musix | Note Added: 0005914 | |
2024-04-07 11:46 | timmyLaJimmy | Note Added: 0005915 | |
2024-04-07 11:59 | Saga Musix | Note Added: 0005916 | |
2024-04-07 12:01 | Saga Musix | Category | Accessibility => General |
2024-04-07 12:08 | timmyLaJimmy | Note Added: 0005917 | |
2024-04-07 19:10 | Saga Musix | Note Added: 0005918 | |
2024-04-07 19:55 | Saga Musix | Status | new => closed |
2024-04-07 19:55 | Saga Musix | Resolution | open => no change required |