Ren'Py 6.99.14.1 Prereleased

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.
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 16088
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:

Ren'Py 6.99.14.1 Prereleased

#1 Post by PyTom »

Hello, world. I just uploaded the first prerelease of Ren'Py 6.99.14.1. This release intends to fix some problems that have been discovered in Ren'Py 6.99.14, and also further builds on the performance improvement work in that release. You can see the official changelog at:

https://www.renpy.org/dev-doc/html/changelog.html

and download it from:

https://www.renpy.org/release/6.99.14.1


The main focus here is on improving the image cache and image prediction, while at the same time reducing pauses caused by image prediction.

Some of the highlights of the image prediction work are:
  • Pressing f4 shows the image load log and cache/texture usage.
  • When loading a texture, Ren'Py will scan it to find the bounding box of the non-transparent pixels. Only transparent pixels will be loaded into texture memory. This directly addresses sprites that are LiveComposities of multiple full-size images - Ren'Py crops these before loading them into a texture, reducing the memory usage substantially.
  • The config.cache_surfaces variable is now False by default. This means that Ren'Py will toss images after turning them into textures, halfing (or more) memory usage. This can slow things down if you do a lot of image manipulator work (so turn it off then), but should be a speedup in more normal code.
  • The image cache is now 300MB big, and controlled by the config.image_cache_size_mb variable directly. (Assuming config.image_cache_size isn't set.)
  • Ren'Py refuses to call functions that read from disk during image prediction.
  • ConditionSwitch has a predict_all option that causes all available displayables to be predicted. This can be used (for example) if a character has a small number of emotion images, to load them all whenever the character is about to go on the screen.
  • The renpy.start_predict and renpy.stop_predict options now take wildcards, so it's possible to do renpy.start_predict("eileen *").
There are a couple of other changes here.
  • The ATL "on hide" clause has been fixed.
  • The Python global interpreter lock (GIL) is released when flipping the OpenGL screen. This should make tasks that run in a background thread (music playback, image preloading, autosave, etc.) faster.
I need your help.

I've gotten some reports that 6.99.14 has been making the fans on people's computers spin up, thanks to the way we make more aggressive use of the GPU. What I'm asking is that people hit shift+G in your game (or the tutorial). That will pop up the powersave window. Please change it between Enabled and Disabled, waiting a minute or so between each change, and see how that affects your computer's fans. (It says you need to restart for it to take effect, but this particular setting doesn't need a reset.) Let me know either way - the fact that it doesn't change anything is also of interest to me.

Thanks.

(This is version 6.99.14.1.3188, for the record. 3188 changes since the start of the 6.99 series.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3785
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: Ren'Py 6.99.1.4.1 Prereleased

#2 Post by Imperf3kt »

I'm confused, 6.99.14.1 is newer than 6.99.14.3xxx ?

Edit: Just saw the final line, but I'm still confused why its being called 6.99.14.1

E: I see now, so the last version was technically 6.99.14.0.<build number>
Last edited by Imperf3kt on Fri Jan 26, 2018 1:51 am, edited 1 time in total.
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

User avatar
PyTom
Ren'Py Creator
Posts: 16088
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: Ren'Py 6.99.1.4.1 Prereleased

#3 Post by PyTom »

Really, all but the last part is the version number, and then the last is a build number. It's always worked this way.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
trooper6
Lemma-Class Veteran
Posts: 3712
Joined: Sat Jul 09, 2011 10:33 pm
Projects: A Close Shave
Location: Medford, MA
Contact:

Re: Ren'Py 6.99.1.4.1 Prereleased

#4 Post by trooper6 »

This is really cool! Thanks PyTom! I won’t be able to test it until Tuesday, but I’m looking forward to trying it out!
A Close Shave:
*Last Thing Done (Aug 17): Finished coding emotions and camera for 4/10 main labels.
*Currently Doing: Coding of emotions and camera for the labels--On 5/10
*First Next thing to do: Code in all CG and special animation stuff
*Next Next thing to do: Set up film animation
*Other Thing to Do: Do SFX and Score (maybe think about eye blinks?)
Check out My Clock Cookbook Recipe: http://lemmasoft.renai.us/forums/viewto ... 51&t=21978

User avatar
vollschauer
Veteran
Posts: 231
Joined: Sun Oct 11, 2015 9:38 am
Github: vollschauer
Contact:

Re: Ren'Py 6.99.1.4.1 Prereleased

#5 Post by vollschauer »

Just wanted to to bring something up about the version numbers. I personal not a big fan of such endless version numbers and I really don't like 6.99.14.1.xxxx.
I actually just don't like the "x.1.x" to show that's a hotfix version or whatever.

I would prefer to see on the RenPy front page a note or button with "Download latest Version 6.99.14.3188",
even if there was a stable release 6.99.14.3135 a few weeks ago. Then you know that you can grab that new download or you use the launcher "update" button.

Since I work most of the time with different versions at the same time, it would be cool to see the version number in the launcher menu title like: "Ren'Py Launcher - 6.99.14.3138" ... yes there is a about button but when switching around launcher, game, editor ..somethimes I don't know what launcher is that at the first look.

Topic name is "wrong" Ren'Py 6.99.1.4.1 Prereleased

User avatar
kevinturner
Newbie
Posts: 10
Joined: Tue Mar 01, 2016 2:00 am
Projects: Human Reignition Project, Highway Blossoms
Organization: AlienWorks
Github: kevinturner
Contact:

Re: Ren'Py 6.99.1.4.1 Prereleased

#6 Post by kevinturner »

Nice work. This fixed a bug from the previous prerelease where the Ren'Py launcher on macOS would occasionally launch the project with no focus on the window (despite the keyboard being able to interact with it), and it would require command+tab fiddling to eventually allow the mouse to click things.

In terms of the power save function, I get identical power consumption regardless of setting according to Activity Monitor, and no fan noise regardless of setting, both sitting on a screen with constant activity and a screen with no activity.

AXYPB
Regular
Posts: 95
Joined: Thu Sep 04, 2014 3:04 am
Github: AXYPB
Contact:

Re: Ren'Py 6.99.1.4.1 Prereleased

#7 Post by AXYPB »

The bug I reported regarding VP8 and VP9 video appears to be resolved in the current prerelease. Thank you for your attention on this matter.

User avatar
Reikun
Miko-Class Veteran
Posts: 565
Joined: Tue Dec 20, 2011 9:57 pm
Completed: Mnemonic Devices, Ciikos Bridge, Helena's Flowers, The Madness
Projects: Fox in the Hollyhocks
Organization: skyharborr
itch: skyharborr
Contact:

Re: Ren'Py 6.99.14.1 Prereleased

#8 Post by Reikun »

Updated to the pre-release and tried out the powersave functions (enabled/disabled) with the tutorial. There was no change in fan speed/noise for me for either setting but I'll update here if anything changes during future usage.
ImageImageImage

fastest way to contact me: DM @skyharborr on twitter

AXYPB
Regular
Posts: 95
Joined: Thu Sep 04, 2014 3:04 am
Github: AXYPB
Contact:

Re: Ren'Py 6.99.14.1 Prereleased

#9 Post by AXYPB »

On a desktop system with an Nvidia GTX 960 video card running Windows 10, I observed no changes in fan speed between each powersave setting.

User avatar
Arowana
Miko-Class Veteran
Posts: 531
Joined: Thu May 31, 2012 11:17 pm
Completed: a2 ~a due~
Projects: AXIOM.01, The Pirate Mermaid
Organization: Variable X, Navigame
Tumblr: navigame-media
itch: navigame
Contact:

Re: Ren'Py 6.99.14.1 Prereleased

#10 Post by Arowana »

Very excited about all the image prediction improvements! I'm not sure whether the predict_all option for ConditionSwitch is actually working though. I tried both putting predict_all = True in my ConditionSwitch and setting config.conditionswitch_predict_all = True, but the images in my ConditionSwitch still show up as "unpredicted (bad)" in the image load log. Is it supposed to be like that or not?

On my Macbook, I didn't notice any fan noise for either powersave setting yet. This is actually a big improvement for me - 6.99.14 made my fan spin up almost immediately after opening the launcher (even before starting any games). So thanks very much for fixing that! :D
Complete: a2 ~a due~ (music, language, love)
In progress: The Pirate Mermaid (fairytale otome)
On hold: AXIOM.01 (girl detective game)

Image

User avatar
PyTom
Ren'Py Creator
Posts: 16088
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: Ren'Py 6.99.14.1 Prereleased

#11 Post by PyTom »

I'll double-check, but would the ConditionSwitch be predictable in the first place? What I was trying to optimize with ConditionSwitch is something like:

Code: Select all

default emption = "happy"

image eileen = LiveComposite(
    (320, 720),
    (0, 0), "images/eileen/base.png",
    (0, 0), ConditionSwitch(
                  "emotion == 'happy'", "images/eileen/happy.png",
                  "emotion == 'mad'", "images/eileen/mad.png",
                   predict_all=True,
                  ),
    )

show eileen
But if we had,

$ renpy.show("eileen")

Ren'Py still couldn't predict it.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Arowana
Miko-Class Veteran
Posts: 531
Joined: Thu May 31, 2012 11:17 pm
Completed: a2 ~a due~
Projects: AXIOM.01, The Pirate Mermaid
Organization: Variable X, Navigame
Tumblr: navigame-media
itch: navigame
Contact:

Re: Ren'Py 6.99.14.1 Prereleased

#12 Post by Arowana »

PyTom wrote: Sun Jan 28, 2018 4:04 am I'll double-check, but would the ConditionSwitch be predictable in the first place?
I think they should be predictable. I even tried something very simple like this:

Code: Select all

image eileen = ConditionSwitch(
        "emotion == 'happy'", "images/eileen/happy.png",
        "emotion == 'vhappy'", "images/eileen/vhappy.png",
        "emotion == 'concerned'", "images/eileen/concerned.png", 
        predict_all=True,)

default emotion = "happy"
define config.conditionswitch_predict_all = True

label start:
    show screen _image_load_log
    scene bg room
    show eileen
    e "Happy."
    $ emotion = "vhappy"
    e "Very happy!"
    $ emotion = "concerned"
    e "Concerned..."
    return
All the "images/eileen/" pngs show up as unpredicted in my image load log. :( Might I be doing something wrong?
Complete: a2 ~a due~ (music, language, love)
In progress: The Pirate Mermaid (fairytale otome)
On hold: AXIOM.01 (girl detective game)

Image

AXYPB
Regular
Posts: 95
Joined: Thu Sep 04, 2014 3:04 am
Github: AXYPB
Contact:

Re: Ren'Py 6.99.14.1 Prereleased

#13 Post by AXYPB »

I am having the same issue with a character defined as ConditionSwitch displayables. Due to the large resolution of my project, I use a large amount of im.Composite manipulators, which reduces image file size significantly. The ConditionSwitch selects between two im.Composites, one with a base body image and an emotion; and one with accessories added. The image load log is reporting that all images defined this way, including CGs including this character (also defined as ConditionSwitch so the same accessories can be displayed or hidden), are failing to be predicted.
Last edited by AXYPB on Sun Jan 28, 2018 2:48 pm, edited 1 time in total.

User avatar
PyTom
Ren'Py Creator
Posts: 16088
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: Ren'Py 6.99.14.1 Prereleased

#14 Post by PyTom »

I just landed a fix to ConditionSwitch.

I'd suspect that LiveComposite is going to be better than im.Composite in (nearly) all circumstances, I'd suggest switching over.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

AXYPB
Regular
Posts: 95
Joined: Thu Sep 04, 2014 3:04 am
Github: AXYPB
Contact:

Re: Ren'Py 6.99.14.1 Prereleased

#15 Post by AXYPB »

I've also found that in my CG gallery screen, where up to nine CG imagebuttons added with Gallery.make_button are displayed at once, prediction is failing for the imagemap for the menu on this screen. Changing pages is sometimes noticeably slow, and the images defined in the imagemap are shown as failing to be predicted twice each before loading. I used renpy.start_predict_screen for this screen in the main menu to rectify the loading delay in previous versions, but when config.cache_surfaces is False, this is no longer effective.

Post Reply

Who is online

Users browsing this forum: Google [Bot]