Orama-Interactive/Pixelorama

Playback and Preview of Selected Frame Gifs and APNGs are Slower Than They Should Be

Closed this issue · 19 comments

Pixelorama version:

Pixelorama v0.11.3-stabe

OS/device including version:

MacOS Sonoma (v14.3)

Issue description:

I'm making a sprite sheet for game with other people an frequently export GIFs (all frames) so they can see the progress and give me feedback. I've gotten to the point were I have multiple animations that I'd like to present separately so they wont have to watch an idle animation and some others before being able to see the animation I wish for them to see. Ideally, I would need to go to File > Export as... > Image > set frames to "Selected frames" and set filetype as GIF. Afterwards I can preview the GIF or export it and the frame rate stays consistent with what I see in-editor and when the "All frames" option is selected. The issue is that when using the "selected frames" item on the dropdown menu, the frame rate drops as if the animation is playing in slow motion. This occurs both in preview and in the GIF after exporting. Using "All frames" does't do this at all. Even after toggling between "All frames" to "Selected frames".

Screen.Recording.2024-03-29.at.3.32.58.PM.mov

Steps to reproduce:

See above.


On a side note, being able to see the desktop and images you have as references without having to switch between applications is a really cool feature. I just found out about it while trying to find a solution to this.

Screenshot 2024-03-29 at 3 39 02 PM

Hy, i tried on online version, it seems to be working fine there, could you check it as well?

text-.5.mp4

I deleted Pixelorama and reinstalled it (v0.11.3-stable) via Homebrew. I believe got my former Pixelorama from the itch.io page. I don't have this issue anymore

I deleted Pixelorama and reinstalled it (v0.11.3-stable) via Homebrew. I believe got my former Pixelorama from the itch.io page. I don't have this issue anymore

nice, i'm curious, both of them should be identical (code wise), could you re install and tell me if itch version still has this bug or not?

sure I'll do the browser version first.

Ok. The browser version works fine. Now for the desktop version from itch.io...

The itch.io desktop version has the issue with the frame rate.

Screen.Recording.2024-03-30.at.3.19.50.AM.mov

The itch.io desktop version has the issue with the frame rate.
Screen.Recording.2024-03-30.at.3.19.50.AM.mov

interesting..., what about 0.11.4?
https://nightly.link/Orama-Interactive/Pixelorama/workflows/dev-desktop-builds/0.x

The v0.11.4 build works just fine.

The v0.11.4 build works just fine.

Nice, then we can close this safely
Note: For the record, i just tried the 0.11.3 offline version as well (on linux), it didn't seem to have the bug, so i assume this is something specific to MacOS (but we currently lack the means to test this thoroughly on that platform). I also don't know what changed that fixed the bug, so this may need investigating.

text-.6.mp4

Sounds good. Btw Your suicide explorer game is fun :)

The v0.11.4 build works just fine.

Correction* I'm still using v0.11.4-rc2, but it turns out that the issue persists. It's odd that it didn't happen when I tried earlier. I'll probably have to try the web version again also to make sure it doesn't happen there. I do understand that testing for MacOS isn't where you'd like it to be right now, so if you'k like me to check on a few things for you let me know.

I just discovered that frames are being duplicated when using Selected frames:

sprites main !? ➜ ls frames
player_0001.png	player_0007.png	player_0013.png	player_0019.png	player_0025.png	player_0031.png	player_0037.png	player_0043.png	player_0049.png	player_0055.png
player_0002.png	player_0008.png	player_0014.png	player_0020.png	player_0026.png	player_0032.png	player_0038.png	player_0044.png	player_0050.png	player_0056.png
player_0003.png	player_0009.png	player_0015.png	player_0021.png	player_0027.png	player_0033.png	player_0039.png	player_0045.png	player_0051.png	player_0057.png
player_0004.png	player_0010.png	player_0016.png	player_0022.png	player_0028.png	player_0034.png	player_0040.png	player_0046.png	player_0052.png	player_0058.png
player_0005.png	player_0011.png	player_0017.png	player_0023.png	player_0029.png	player_0035.png	player_0041.png	player_0047.png	player_0053.png	player_0059.png
player_0006.png	player_0012.png	player_0018.png	player_0024.png	player_0030.png	player_0036.png	player_0042.png	player_0048.png	player_0054.png	player_0060.png

I only have 9 frames in my project. My guess would be that the other 51 are used to fill a full second (1 fps). When using All frames, it only creates 9 frame (one for each in frame in the timeline) and plays at the specified frame rate (6fps in my case). This would explain why the gifs are different.

I haven't tried to see if the browser version or the itch.io version does the same.

I just discovered that frames are being duplicated when using Selected frames:

sprites main !? ➜ ls frames
player_0001.png	player_0007.png	player_0013.png	player_0019.png	player_0025.png	player_0031.png	player_0037.png	player_0043.png	player_0049.png	player_0055.png
player_0002.png	player_0008.png	player_0014.png	player_0020.png	player_0026.png	player_0032.png	player_0038.png	player_0044.png	player_0050.png	player_0056.png
player_0003.png	player_0009.png	player_0015.png	player_0021.png	player_0027.png	player_0033.png	player_0039.png	player_0045.png	player_0051.png	player_0057.png
player_0004.png	player_0010.png	player_0016.png	player_0022.png	player_0028.png	player_0034.png	player_0040.png	player_0046.png	player_0052.png	player_0058.png
player_0005.png	player_0011.png	player_0017.png	player_0023.png	player_0029.png	player_0035.png	player_0041.png	player_0047.png	player_0053.png	player_0059.png
player_0006.png	player_0012.png	player_0018.png	player_0024.png	player_0030.png	player_0036.png	player_0042.png	player_0048.png	player_0054.png	player_0060.png

I only have 9 frames in my project. My guess would be that the other 51 are used to fill a full second (1 fps). When using All frames, it only creates 9 frame (one for each in frame in the timeline) and plays at the specified frame rate (6fps in my case). This would explain why the gifs are different.

I haven't tried to see if the browser version or the itch.io version does the same.

By this I can say that it isn't the speed that's changing, it's the frames that are duplicating when selected frames is turned on, which is giving the illusion that the frame is taking longer time than it should (when it's actually multiple duplicates of the same frame)

I just discovered that frames are being duplicated when using Selected frames:

sprites main !? ➜ ls frames
player_0001.png	player_0007.png	player_0013.png	player_0019.png	player_0025.png	player_0031.png	player_0037.png	player_0043.png	player_0049.png	player_0055.png
player_0002.png	player_0008.png	player_0014.png	player_0020.png	player_0026.png	player_0032.png	player_0038.png	player_0044.png	player_0050.png	player_0056.png
player_0003.png	player_0009.png	player_0015.png	player_0021.png	player_0027.png	player_0033.png	player_0039.png	player_0045.png	player_0051.png	player_0057.png
player_0004.png	player_0010.png	player_0016.png	player_0022.png	player_0028.png	player_0034.png	player_0040.png	player_0046.png	player_0052.png	player_0058.png
player_0005.png	player_0011.png	player_0017.png	player_0023.png	player_0029.png	player_0035.png	player_0041.png	player_0047.png	player_0053.png	player_0059.png
player_0006.png	player_0012.png	player_0018.png	player_0024.png	player_0030.png	player_0036.png	player_0042.png	player_0048.png	player_0054.png	player_0060.png

I only have 9 frames in my project. My guess would be that the other 51 are used to fill a full second (1 fps). When using All frames, it only creates 9 frame (one for each in frame in the timeline) and plays at the specified frame rate (6fps in my case). This would explain why the gifs are different.

I haven't tried to see if the browser version or the itch.io version does the same.

Do the 51 images appear in preview as well?
Also, what about spritesheets? Do they also show 51 images when that happens?

Do the 51 images appear in preview as well?

For sprite sheets, if I use All frames, only 9 frames appear. Many more appear for Selected frames

Screenshot 2024-03-30 at 3 42 06 PM

Do the 51 images appear in preview as well?

This is for exporting images: 60 images appear in the preview when using selected frames. Only 9 show when using all frames.

Do the 51 images appear in preview as well?

For sprite sheets, if I use All frames, only 9 frames appear. Many more appear for Selected frames
Screenshot 2024-03-30 at 3 42 06 PM

interesting, so my theory is correct, are you on discord? if so, then you could join the pixelorama's discord (https://discord.gg/GTMtr8s). i'll be easier for me to work from there 😄

Resolved and made reproducible. Bug was squashed over Discord.