kanjitalk755 / macemu

Basilisk II and SheepShaver Macintosh emulators
356 stars 56 forks source link

Slow dissolve transition effect #107

Closed gingerbeardman closed 3 years ago

gingerbeardman commented 3 years ago

I'm wondering why under BasiliskII the dissolve transition effect is so slow?

It's visible in many HyperCard stacks. Here's one: https://archive.org/download/hypercard_zizi-vol-1/disk.img

Taken from: https://archive.org/details/hypercard_zizi-vol-1

I've tried the following, with no change

Comparison

Screen recordings

https://user-images.githubusercontent.com/49612/137552194-23180566-2fdc-4b0c-a1ff-cfda3eba0903.mov


https://user-images.githubusercontent.com/49612/137552215-e0ceef7c-f5e1-4f46-af9c-411e7b0c0050.mov


https://user-images.githubusercontent.com/49612/137552271-013c83d6-140b-41b0-8992-2a4934d41f75.mov

My setup

gingerbeardman commented 3 years ago

It's also reported here:

Also related

kanjitalk755 commented 3 years ago

CPU usage is stuck at 100% during the transition. I checked the time profile, it resulted as follows.

ss_timeprofile

Much time is spent on the CPU emulation. Since it is difficult to investigate and correct the cause inside the UAE CPU core, use SheepShaver as an alternative.

gingerbeardman commented 3 years ago

I cannot use Sheepshaver in this instance, but thanks for the suggestion.

kanjitalk755 commented 1 year ago

It turned out that Basilisk II needed a high-precision timer, which is implemented only in SheepShaver. I backported it to Basilisk II.

gingerbeardman commented 1 year ago

Amazing, this is huge news for me. Thank you so much!

I'm off to build the latest code right now.

edit: built and confirmed !

that-ben commented 1 year ago

Wow, I've seen this behavior for a while and couldn't understand why it was so painfully slow to watch the HyperCard dissolve animations! Thanks for fixing this. Hopefully, this will make its way into InfiniteMac soon.

19eighties commented 1 year ago

@gingerbeardman Just wanted to shout out that you are my hero for getting the ball rolling on this fix and also @kanjitalk755 for implementing it. This has been an issue for me for probably over a decade.

gingerbeardman commented 1 year ago

@19eighties no worries! it really was worth it.