Ren'Py 6.11.0 Public Pre-Release

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
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:

Re: Ren'Py 6.11.0 Public Pre-Release

#91 Post by PyTom »

Unless you were running just the launcher (which disables OpenGL on its own), that means that you failed the OpenGL performance test. If Ren'Py can't dissolve at at least 16fps, then it gives up and reverts back to software rendering mode.
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
rinrin
Veteran
Posts: 211
Joined: Thu Apr 16, 2009 9:18 am
Completed: Several.
Projects: Several.
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#92 Post by rinrin »

PyTom wrote:Unless you were running just the launcher (which disables OpenGL on its own)
No, I actually started a game.
PyTom wrote:, that means that you failed the OpenGL performance test. If Ren'Py can't dissolve at at least 16fps, then it gives up and reverts back to software rendering mode.
So basically this means my laptop is too slow to run a Ren'Py game properly? :shock:
If so, what are the minimum system requirements?

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.11.0 Public Pre-Release

#93 Post by PyTom »

The requirement is "able to run OpenGL at at least 16 frames per second". That doesn't really translate to a particular system requirement.

Since I think another release is likely, I'm at least going to add some additional output so we can see how fast your system is, and then deal with it.

You could also create a file "environment.txt" in the same directory as renpy.exe, with the following line in it:

Code: Select all

RENPY_RENDERER="gl,sw"
That will disable the speed test, so you can see how Ren'Py is performing on your system.
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
rinrin
Veteran
Posts: 211
Joined: Thu Apr 16, 2009 9:18 am
Completed: Several.
Projects: Several.
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#94 Post by rinrin »

PyTom wrote:You could also create a file "environment.txt" in the same directory as renpy.exe, with the following line in it:

Code: Select all

RENPY_RENDERER="gl,sw"
I did that, it works now (with a bit of visible lag when resizing).

On an unrelated note, how do you get the window back to its original size after resizing it? (other than going into fullscreen)

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.11.0 Public Pre-Release

#95 Post by PyTom »

Rinrin, can you try a few things for me:

1) Can you grab a tool like FRAPS, and see what Ren'Py's framerate is? I'll note that the framerate varies a lot over the course of Ren'Py, to save energy - I suggest measuring it during the ATL concert demo, in the tutorial.

2) Can you then delete the environment.txt files, and replace common/00gltest.rpy with the attached file? I changed it to repeat the OpenGL test 4 times, with the idea being that maybe the first test is being corrupted for some reason, and spending a full second on this isn't excessive.
Attachments
00gltest.rpy
(2.29 KiB) Downloaded 80 times
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

Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#96 Post by Mihara »

...one more gripe about screens. Not a bug but... ugh.

I have a screen that shows a viewport of buttons and shows another transient screen if those buttons are clicked. I also need that screen to show that transient screen if it was called with a specific parameter, and I don't want to duplicate code.

Well, there's no legit way to do that. Here's what I had to do to get it to do that anyway:

Code: Select all

screen cards:
    tag menu

    python:
        try:
            cardarg
        except NameError:
            cardarg = ""

    if cardarg != "":        
        timer .001 action ShowTransient("card", cardid=cardarg)
I'm sure you can see why that would be unsatisfactory, but if there is a way to get a screen to run an action if a certain argument is given, I don't see it either documented or in the parts of the source I'm able to understand on short notice.

User avatar
rinrin
Veteran
Posts: 211
Joined: Thu Apr 16, 2009 9:18 am
Completed: Several.
Projects: Several.
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#97 Post by rinrin »

PyTom wrote:1) Can you grab a tool like FRAPS, and see what Ren'Py's framerate is? I'll note that the framerate varies a lot over the course of Ren'Py, to save energy - I suggest measuring it during the ATL concert demo, in the tutorial.
FRAPS is showing yellow numbers in the range of 4-5 when nothing is happening and goes to 20-110 (changes all the time) during the ATL concert demo.
(I'm not really familiar with the tool - is this the actual framerate?)
PyTom wrote:2) Can you then delete the environment.txt files, and replace common/00gltest.rpy with the attached file? I changed it to repeat the OpenGL test 4 times, with the idea being that maybe the first test is being corrupted for some reason, and spending a full second on this isn't excessive.
I tried that, it still refuses to go into OpenGL mode.

Edit: attached a file.
Attachments
renpy 2010-08-09 21-38-33-78 fps.txt
fraps benchmarking output
(196 Bytes) Downloaded 78 times
Last edited by rinrin on Mon Aug 09, 2010 3:44 pm, edited 1 time in total.

Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#98 Post by Mihara »

I'm not sure if that's a bug or not, but it was rather bizarre. renpy.call_screen apparently mangles context in certain circumstances.
I'm trying to create a screen that would come up when a non-http hyperlink is clicked, to replace the original label-calling mechanism.

Well, here's the example code. Should it be doing that?

Code: Select all

screen test:
    vbox:
        text ("Just a screen which gets an argument to display data by hyperlink: "+arg)
        textbutton "Ok" action Return()

init python:
    
    e = Character('Eileen', color="#c8ffc8")
    
    def hyperlink_screen(target):
        if target.startswith("http:"):
            try:
                import webbrowser
                webbrowser.open(target)
            except:
                pass
        else:
            renpy.call_screen("test",arg=target)
            # renpy.invoke_in_new_context(renpy.call_screen,"test",arg=target) actually works.  
    
    config.hyperlink_callback = hyperlink_screen   

init:    
    image bg a = Solid("#f00")

label start:
    
    scene bg a
    
    e "Clicking on {a=meh}this hyperlink{/a} is supposed to bring up a screen. When you press the Ok button, though, the output window will be gone as well, and won't return."
    e "Wrapping it in a renpy.invoke_in_new_context actually works, is that the correct way?"

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.11.0 Public Pre-Release

#99 Post by PyTom »

rinrin wrote:FRAPS is showing yellow numbers in the range of 4-5 when nothing is happening and goes to 20-110 (changes all the time) during the ATL concert demo.
(I'm not really familiar with the tool - is this the actual framerate?)
Ren'Py adjust the framerate based on what's going on. It will drop to 5fps when nothing is going on, and should max out at your computer's framerate where not. To get a really good performance test, try looking of the framerate of the following code:

Code: Select all

label start:
    scene black
    with Dissolve(10.0)
I'd like to see what you're getting during dissolve - and if it's a real problem, or a problem with the measurement code.

Mihara >>>

Coudn't you do:

Code: Select all

if cardarg:
    on "show" action Show("card", cardid=cardarg)
You can't do a call_screen (which causes an interaction) from inside an interaction. You probably want to do a show_scree instead.
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

Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#100 Post by Mihara »

PyTom wrote: Coudn't you do:

Code: Select all

if cardarg:
    on "show" action Show("card", cardid=cardarg)
Couldn't. First thing I tried. Whatever it is that actually occurs, I don't see the second screen (with an individual card) once the first runs -- and on show only takes an action parameter. I cannot make it conditional on an argument that may not actually be present or insert a python block in there or anything.

EDIT: Correction. It does work if I order the code in a specific way and make sure the parameter is defined with a try-except first.
It would be nice if there was a less crude way for a screen language statement to check for whether a parameter is defined or not.
PyTom wrote: You can't do a call_screen (which causes an interaction) from inside an interaction. You probably want to do a show_scree instead.
Definitely don't, as I want to drop the user into the normal card selector interface with a certain card preselected, which was the whole point of those exercises.
Well, I guess that part was not a bug then. :)

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.11.0 Public Pre-Release

#101 Post by PyTom »

I've just added a default statement to the screen language, which sets the value of a screen language variable that is not passed in as an explicit or implicit parameter. This allows you to just write:

Code: Select all

default cardarg = None
if cardarg:
    on "show" action Show("card", cardid=cardarg)
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

Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#102 Post by Mihara »

PyTom wrote:I've just added a default statement to the screen language, which sets the value of a screen language variable that is not passed in as an explicit or implicit parameter.
Whee, thank you. :)

User avatar
rinrin
Veteran
Posts: 211
Joined: Thu Apr 16, 2009 9:18 am
Completed: Several.
Projects: Several.
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#103 Post by rinrin »

PyTom wrote:To get a really good performance test, try looking of the framerate of the following code:

Code: Select all

label start:
    scene black
    with Dissolve(10.0)
I'd like to see what you're getting during dissolve
I tried that, it was a bit over 110 most of the time.
Attachments
renpy 2010-08-10 05-23-17-07 fps.txt
fraps benchmarking output
(54 Bytes) Downloaded 66 times

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.11.0 Public Pre-Release

#104 Post by PyTom »

Huh.

Can you edit common/00gltest.rpy? Around line 58, there's the code:

Code: Select all

        # If GL is able to render FRAMES in DELAY seconds, we consider it to
        # be operational, and continue in GL mode. Otherwise, we rever to
        # software rendering mode.
        FRAMES = 4
        DELAY = .25
I'd like you to change that to:

Code: Select all

        # If GL is able to render FRAMES in DELAY seconds, we consider it to
        # be operational, and continue in GL mode. Otherwise, we rever to
        # software rendering mode.
        FRAMES = 300
        DELAY = 10
And see what sort of framerate you get at initial startup, when the black screen is on. (You may have to delete environment.txt to do this.)
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
rinrin
Veteran
Posts: 211
Joined: Thu Apr 16, 2009 9:18 am
Completed: Several.
Projects: Several.
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#105 Post by rinrin »

It's 8 most of the time.
(not sure this is relevant, but startup seems to be taking more than 10 seconds?)
Attachments
renpy 2010-08-10 06-39-19-15 fps.txt
(123 Bytes) Downloaded 72 times

Post Reply

Who is online

Users browsing this forum: No registered users