Page 9 of 10
Re: Ren'Py 6.15 Pre-Releases
Posted: Wed Mar 13, 2013 2:02 am
by nyaatrap
I made a sample program:
memory_test-1.0-win.zip
The fullcode is:
Code: Select all
# The game starts here.
label start:
while True:
python:
for k in ["1","2", "3"]:
for j in ["1","2","3","4","5", "6"]:
for i in ["a", "b", "c", "f", "l", "n", "p", "s", "z" ]:
renpy.show("image", at_list=[truecenter], what=im.Composite((935,1280), (0,0),
"large/rio60.png", (0,0), "large/rio_%s.png"%i, (0,0), "large/rio_x%s.png"%j, (0,0), "large/rio_xx%s.png"%k))
renpy.pause(.0000001, hard=True)
return
It consumes 1GB even the cache size is set to 800x600x8. When I press right click to stop this loop temporarily, cache is released. Otherwise, It stores all caches until composite all possibilities, or hit a memory limit.
I also think set config.skip_delay = 0 makes higher this cache stack problem. Though even I set config.skip_delay default, this out of memory error still happened when I used skipping normally.
BTW, from this investigation, I found LiveComposite is far memory efficient than im.Composite. im.Composite isn't useful especially on facial expression changes because of amount of RAM usage.
Re: Ren'Py 6.15 Pre-Releases
Posted: Wed Mar 13, 2013 12:10 pm
by jack_norton
I can confirm that something is wrong... I build Planet Stronghold with 6.15 to test in release mode. After 5-10minutes of playing, doing a lot of skipping, game start crashing with really bizarre bugs, pointing to lines like a simple menu: statement and so on.
Rebuilt it with 6.14, no problems. Now if wasn't working even in 6.14 could be a problem of my horrible messy/outdated coding, but at this point I'm pretty sure is some memory leak/other bug too!
Re: Ren'Py 6.15 Pre-Releases
Posted: Wed Mar 13, 2013 3:32 pm
by PyTom
I'll be looking into these tonight.
If people can get me stand-along demos that exhibit these bugs, then that would make my life a lot easier - often, getting a bug to occur for me is harder than fixing the underlying problem.
Re: Ren'Py 6.15 Pre-Releases
Posted: Wed Mar 13, 2013 5:09 pm
by jack_norton
Yes I can imagine... the problem in this case is that I'm not really sure what is triggering the bug. I tried again playing BH2 and worked fine even with skipping. When you have big games is a problem to isolate the piece of code that's causing the bug

Re: Ren'Py 6.15 Pre-Releases
Posted: Wed Mar 13, 2013 5:17 pm
by jack_norton
Not sure if can help:
Code: Select all
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game\warchived.rpy", line 1074, in script call
File "game\data.rpy", line 1972, in script
File "game\data.rpy", line 1978, in python
IndexError: list assignment index out of range
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "C:\- indie dev -\games\renpy\renpy\execution.py", line 288, in run
node.execute()
File "C:\- indie dev -\games\renpy\renpy\ast.py", line 718, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\- indie dev -\games\renpy\renpy\python.py", line 1258, in py_exec_bytecode
exec bytecode in globals, locals
File "game\data.rpy", line 1978, in <module>
Inv[10]=[]
File "C:\- indie dev -\games\renpy\renpy\python.py", line 483, in do_mutation
return method(self, *args, **kwargs)
IndexError: list assignment index out of range
Windows-7-6.1.7601-SP1
Ren'Py 6.15.2.281
that line is:
Code: Select all
label blueprints:
python:
renpy.music.play("snd/soft2.ogg",fadein=3.0)
genhelp=2;advice=0;pt=0;adj = ui.adjustment();styp="newinv";iFull=False;SFilter=[1,1,1];active_hero=0
#TERRIBLE CODING HERE
# ShopInv=[ [ [1,99],], ]
# Inv.append(list(ShopInv[0]))
Inv[10]=[]
for i2 in range(57,146):
Inv[10].append(list([i2,99]))
more precisely the line Inv[10]=[] which seems fine to me (and works in 6.14).
Then this is even more strange:
Code: Select all
While running game code:
File "game\story.rpy", line 293, in script
TypeError: list indices must be integers, not str
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "C:\- indie dev -\games\renpy\renpy\execution.py", line 288, in run
node.execute()
File "C:\- indie dev -\games\renpy\renpy\ast.py", line 1302, in execute
next_node(self.items[choice][2][0])
TypeError: list indices must be integers, not str
Code: Select all
#win or lose?
if _return=="win":
scene i_hangar
show i_tom happy at scale(.55),topright
show expression ("%s happy" % mainc) at scale(.5),baseleft with dissolve
ts "You fought well, Nelson!"
menu:
"Thank you, sir!":
ts "You have already made quite an impression and you've only just arrived-"
scene i_hangar
show i_rebecca angry at top with dissolve
rf "Come on, Tom. That was an easy fight! Only give credit where credit is due."
rf "We don't need any more new recruits with big heads. I've got plenty to give you if that's what you're going for."
psc "(Thanks for ruining the mood.)"
"Well, I wasn't the best recruit in the whole academy for nothing.":
ts "Well, it seems they didn't teach you much about modesty at the academy. In any case -"
scene i_hangar
show i_rebecca angry at top with dissolve
rf "%(He)s seems to be overly confident in %(his)s worth to me."
the line is the one where says menu:
Probably those won't help, but thought to still try posting them... good luck!
Re: Ren'Py 6.15 Pre-Releases
Posted: Wed Mar 13, 2013 10:51 pm
by PyTom
jack_norton wrote:Yes I can imagine... the problem in this case is that I'm not really sure what is triggering the bug. I tried again playing BH2 and worked fine even with skipping. When you have big games is a problem to isolate the piece of code that's causing the bug

Yes, but it's work that needs to be done - or it's possible the bug is not in Ren'Py itself.
The Inv[10] bug looks like it would be triggered if Inv has less than 11 items in it.
The menu one would trigger if there was a bug in the menu screen that meant it could possibly Return something other than one of the actions that was supplied for it to return.
Re: Ren'Py 6.15 Pre-Releases
Posted: Thu Mar 14, 2013 3:53 am
by jack_norton
Yes true, will make better investigations

Re: Ren'Py 6.15 Pre-Releases
Posted: Thu Mar 14, 2013 7:15 am
by nyaatrap
Another bug on bar with toottip.
When I make Tooltip and applied on bars as hovered property, Ren'py crashes when tt value is non-empty string.
Test code is following:
Code: Select all
init 100: #to override template
screen preferences:
tag menu
default tt=Tooltip("")
# Include the navigation.
use navigation
# Put the navigation columns in a three-wide grid.
vbox:
style_group "prefs"
xfill True
frame:
style_group "pref"
has vbox
label _("Text Speed")
bar value Preference("text speed"):
hovered tt.Action("aaa")
frame:
style_group "pref"
has vbox
label _("Music Volume")
bar value Preference("music volume"):
hovered tt.Action("")
Clicking a bar with hovered tt.Action("") doesn't crash. But clicking a bar with hovered tt.Action("aaa") crashes.
edit: there's also another weird issue in bar tooltip. when both button and bar shares same Tooltip instance, tt value of buttons couldn't show correctly
Code: Select all
default tt=Tooltip("")
button hovered tt.Action("button tips")
bar hovered tt.Action("bar tips")
text tt.value
the above code only shows bar tips correctly.
Re: Ren'Py 6.15 Pre-Releases
Posted: Fri Mar 15, 2013 5:11 am
by nyaatrap
I confirmed memory leak is proportional to config.skip_delay.
When I set it to 10, it never release cache and crashes soon.
When I set it to 20, it releases cache normally and safe to use skipping.
same thing occurred to renpy.pause
Code: Select all
while 1:
renpy.show("image")
renpy.pause(.01, hard=True)
this code never release cache, but
Code: Select all
while 1:
renpy.show("image")
renpy.pause(.02 hard=True)
this code releases cache normally.
Took me several weeks to investigate it but I found how to fix my scripts finally =D
Re: Ren'Py 6.15 Pre-Releases
Posted: Fri Mar 15, 2013 10:24 am
by nyaatrap
PyTom, I have a question about copyright notice on the template.
I know screens.rpy is in the public domain. But how about options.rpy and Readme.HTML? Can I treat them as if they're in the public domain, or is there something I should consider? Since I'm making a Japanese template and want to release it in the public domain.
Re: Ren'Py 6.15 Pre-Releases
Posted: Fri Mar 15, 2013 12:11 pm
by PyTom
Yes, you can treat those as public domain.
Re: Ren'Py 6.15 Pre-Releases
Posted: Sun Mar 17, 2013 3:01 pm
by Sapphi
Downloaded 6.15 fresh from website just now.
Upon start-up I was asked to update DirectX. Updated with seemingly no problems.
Then tried to restart Ren'py with the given in-program "Restart" button and received this:
Code: Select all
I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/00start.rpy", line 99, in script call
File "renpy/common/00gltest.rpy", line 356, in script
File "renpy/common/00gltest.rpy", line 368, in python
WindowsError: [Error 193] %1 is not a valid Win32 application
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "C:\Documents and Settings\Sapphi\Desktop\renpy-6.15.2-sdk\renpy\execution.py", line 288, in run
node.execute()
File "C:\Documents and Settings\Sapphi\Desktop\renpy-6.15.2-sdk\renpy\ast.py", line 718, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\Documents and Settings\Sapphi\Desktop\renpy-6.15.2-sdk\renpy\python.py", line 1258, in py_exec_bytecode
exec bytecode in globals, locals
File "renpy/common/00gltest.rpy", line 368, in <module>
subprocess.Popen(sys.argv)
File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/subprocess.py", line 679, in __init__
File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/subprocess.py", line 896, in _execute_child
WindowsError: [Error 193] %1 is not a valid Win32 application
Windows-XP-5.1.2600-SP3
Ren'Py 6.15.2.281
Ren'Py Launcher 6.15.2.281
Closed out of Ren'Py. Opened Ren'Py again.
It showed me the Performance Warning again as though I had never updated DirectX.
Tried to update DirectX again. Updater informed me that a newer or equivalent version had already been installed and no updates were necessary.
Closed out of updater and tried to restart Ren'Py again via in-program "Restart" button.
Returned the same error.
Re: Ren'Py 6.15 Pre-Releases
Posted: Sun Mar 17, 2013 3:08 pm
by PyTom
Sapphi, can I see your log.txt?
Re: Ren'Py 6.15 Pre-Releases
Posted: Sun Mar 17, 2013 3:12 pm
by Sapphi
There... doesn't seem to be a file "log.txt" in the whole of the 6.15 folder...
Re: Ren'Py 6.15 Pre-Releases
Posted: Sun Mar 17, 2013 6:52 pm
by PyTom
Try launching the tutorial, then look in the tutorial directory. It should be in there.