I dont know how to compile this but if you want me to compile on my Haswell and submit/test Im willing to learn.hex_usr wrote:bsnes-mcfly v106r11 has been released. This version is based on higan/bsnes v106r52... sort of. nall is based on v106r53 and has a new header that has something to do with SIMD. I don't know exactly what it does, but if you have an Intel Core Haswell or later (I have the ancient Lynnfield), and you compile bsnes-mcfly from source (which requires Qt 5 to be in your PATH), it might influence bsnes-mcfly's performance somehow.
This version, to the best of my knowledge, fixes the crash on exit that 007 and I both experienced. Not deconstructing ruby's drivers was indeed the cause of the crash... and then there was another crash on exit. And another one. And another one! My Qt windows weren't deconstructing their widgets (and menus in the case of the presentation window) properly! So I wrote custom deconstructors to handle that properly, and I replaced every Qt slot with a C++11 lambda. Only 1 file in the entire source still requires moc to compile, and it's a template class for the file loader that defines custom events.
I may have missed a window somewhere, but for now, I'm not getting any crashes on exit anymore. Let me know if you still have a crash on exit. If you do, don't delete your settings this time; they might be crucial in reproducing the crash.
And finally, there was an order of operations issue with saving your configuration settings and deconstructing ruby's drivers, so that's been taken care of.
Aside from crash on exit fixes, this version also makes a slight adjustment to the way frame skipping works in the Compatibility and Performance profiles; previously, a bug meant that instead of skipping frames, it was skipping scanlines. The symptom was that when using fast forward in the Compatibility or Performance profile, sometimes only part of the screen would be updated, divided into horizontal bars. It was most noticeable during fades to black. Now, it skips frames like it's supposed to. Note that the Accuracy profile doesn't have frame skip, so it was not affected.
Thanks for another build.