Preloading images for animation sequence: delay problems

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
jwilliams77
Newbie
Posts: 21
Joined: Sun Apr 19, 2015 8:35 pm
Contact:

Preloading images for animation sequence: delay problems

#1 Post by jwilliams77 » Thu Apr 28, 2016 1:11 am

So I've published a few ren'py based games a few months ago, however, what stopped me from doing more was that my animation was taking a long time to load. The code isn't complicated but it does use ~30 images I think because I'm trying to do 30 FPS for my animated scenes.

Is there a way to 'preload' the individual images so that when the animation loads into view it doesn't "hang" or delay? On my mac and on my windows computer the animation starts very slow, as the game seems to pause when the button is clicked prior to the animation loading.

Below is the code I'm using for the animation loop in the game. Any ideas on how to preload or make it "start" faster without a lag would be awesome.

Code: Select all

	
label finalbonusmenutest:
scene bg bedroom05
image testonbed:
“images/testonbedseries/testonbedtest00.png”
0.03
“images/testonbedseries/testonbedtest01.png”
0.03
“images/testonbedseries/testonbedtest02.png”
0.03
“images/testonbedseries/testonbedtest03.png”
0.03
“images/testonbedseries/testonbedtest04.png”
0.03
“images/testonbedseries/testonbedtest05.png”
0.03
“images/testonbedseries/testonbedtest06.png”
0.03
“images/testonbedseries/testonbedtest07.png”
0.03
“images/testonbedseries/testonbedtest08.png”
0.03
“images/testonbedseries/testonbedtest09.png”
0.03
“images/testonbedseries/testonbedtest10.png”
0.03
“images/testonbedseries/testonbedtest11.png”
0.03
“images/testonbedseries/testonbedtest12.png”
0.03
“images/testonbedseries/testonbedtest13.png”
0.03
“images/testonbedseries/testonbedtest14.png”
0.03
“images/testonbedseries/testonbedtest15.png”
0.03
“images/testonbedseries/testonbedtest16.png”
0.03
“images/testonbedseries/testonbedtest17.png”
0.03
“images/testonbedseries/testonbedtest18.png”
0.03
“images/testonbedseries/testonbedtest19.png”
0.03
“images/testonbedseries/testonbedtest20.png”
0.03
“images/testonbedseries/testonbedtest21.png”
0.03
“images/testonbedseries/testonbedtest22.png”
0.03
“images/testonbedseries/testonbedtest23.png”
0.03
“images/testonbedseries/testonbedtest24.png”
0.03
“images/testonbedseries/testonbedtest25.png”
0.03
“images/testonbedseries/testonbedtest26.png”
0.03
“images/testonbedseries/testonbedtest27.png”
0.03
“images/testonbedseries/testonbedtest28.png”
0.03
“images/testonbedseries/testonbedtest29.png”
0.03
“images/testonbedseries/testonbedtest30.png”
0.03
“images/testonbedseries/testonbedtest31.png”
0.03
“images/testonbedseries/testonbedtest32.png”
0.03
“images/testonbedseries/testonbedtest33.png”
0.03
“images/testonbedseries/testonbedtest34.png”
0.03
“images/testonbedseries/testonbedtest35.png”
0.03
“images/testonbedseries/testonbedtest36.png”
0.03
“images/testonbedseries/testonbedtest37.png”
0.03
“images/testonbedseries/testonbedtest38.png”
0.03
“images/testonbedseries/testonbedtest39.png”
0.03
“images/testonbedseries/testonbedtest40.png”
0.03
“images/testonbedseries/testonbedtest41.png”
0.03
“images/testonbedseries/testonbedtest42.png”
0.03
“images/testonbedseries/testonbedtest43.png”
0.03
“images/testonbedseries/testonbedtest44.png”
0.03
“images/testonbedseries/testonbedtest45.png”
0.03
“images/testonbedseries/testonbedtest46.png”
0.03
“images/testonbedseries/testonbedtest47.png”
0.03
“images/testonbedseries/testonbedtest48.png”
0.03
“images/testonbedseries/testonbedtest49.png”
0.03
“images/testonbedseries/testonbedtest50.png”
0.03
“images/testonbedseries/testonbedtest51.png”
0.03
“images/testonbedseries/testonbedtest52.png”
0.03
“images/testonbedseries/testonbedtest53.png”
0.03
“images/testonbedseries/testonbedtest54.png”
0.03
“images/testonbedseries/testonbedtest55.png”
0.03
“images/testonbedseries/testonbedtest56.png”
0.03
“images/testonbedseries/testonbedtest57.png”
0.03
“images/testonbedseries/testonbedtest58.png”
0.03
“images/testonbedseries/testonbedtest59.png”
0.03
repeat
show testonbed


User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Preloading images for animation sequence: delay problems

#2 Post by PyTom » Thu Apr 28, 2016 1:21 am

You should be able to predict this with:

Code: Select all

$ renpy.start_predict("testonbed")
and stop prediction with:

Code: Select all

$ renpy.stop_predict("testonbed")
You'd also have to bump renpy.image_cache_size up to something that can handle 30 images.

That being said, you may want to consider using a movie sprite - you'd probably want to loop the sequence a dozen times, but even doing that you'll likely save space and improve performance.

https://www.renpy.org/doc/html/movie.ht ... ie-sprites
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot]