Page 69 of 121

Re: GuideMe (TeaseMe v2.0) - Current Build 0.3.4

Posted: Wed Dec 20, 2017 8:25 pm
by philo
Trusfrated wrote: Wed Dec 20, 2017 9:06 am It just behaves really strangely for me. No one else has experienced this, or do most people not use Alt-M? In version 3.3, when I turned it off, it stayed off. I love GuideMe, but this is a strange behavior that only started in 3.4, and is keeping me from adopting it.
None of the code changed as far as I am aware on that.
I can't reproduce the issue.

Re: GuideMe (TeaseMe v2.0): BETA Thread

Posted: Sat Dec 23, 2017 4:26 pm
by philo
d3vi0n wrote: Mon Dec 18, 2017 2:52 pm
philo wrote: Tue Sep 12, 2017 8:29 pm Version 0.3.4 release (...)
I updated the start post with GuideMe v0.3.4. Could you provide me some short patch notes?
Not much changed, just bug fixes really.
Changes to get javascript working again after adding debugging
Fixed the issue where video didn't play on consecutive pages.

Re: GuideMe (TeaseMe v2.0): BETA Thread

Posted: Wed Dec 27, 2017 11:25 pm
by GoudDeal
GoudDeal wrote: Sun Sep 24, 2017 3:31 pmHearts of Clubs seems to require the 3.1 so I've downloaded it but the script goes to a dead-end at the very first page (...) When I try to start the script with GuideMe 3.3, it surprisingly works at start but crashes with the first session.
Your screenshot shows, that you used an old Hearts Club (v0.9.4) which won't work with GuideMe v0.3.x. You need to update Hearts Club to the current version (v0.9.6). This version works with the current GuideMe v0.3.4 (i just tested it with the 64 Bit version for GuideMe). So give this combination a try.

Ok... You were right... My bad on this one... I'll back for more uncommon issues :devil:

Re: GuideMe (TeaseMe v2.0) - Current Build 0.3.4

Posted: Thu Jan 11, 2018 12:17 pm
by d3vi0n
While working on a "My Succubus" prototype I recently noticed something with GuideMe which got me a bit worried.

I'm using an internal test build for GuideMe (v0.3.5) while writing this prototype, but the problem also applies (to a lesser degree) to the current released official GuideMe (v0.3.4). According to the task manager the Java process very quickly uses insanely huge amounts of memory, when playing a tease with GuideMe. The allocated memory steadily grows larger over time slowing performance down, even growing slowly when doing nothing in the tease. I only tested this with my javascript heavy teases (Hearts Club, Pilgrim Quest, My Succubus prototype). Not sure how GuideMe behaves with plain teases without any javascript functionality in it.

The java process always quickly crosses 1 GB Memory usage after only a few minutes (and keeps growing). Now my old teases have huge random media folders, but my current prototype for "My Succubus" only has around a dozen (placeholder) pictures and the whole tease folder for the prototype only contains 49 MB at all. And still... loading this script and the memory usage explodes. Last time with it even crossed 2.5 GB Memory usage while I was testing. There was no denying that this memory usage costs a visible amount of performance and slows everything in the tease down.

Do we have possible memory leaks in GuideMe? Does the java garbage collection (and the release of memory) doesn't work as intended with GuideMe? What other things could cause this? Do i have to do something to allow Java to release memory after a function is closed. My programming skills might be not good, but I'm pretty sure, there they are not that bad. I should have no insane inefficient or endless / recursive functions in my scripts which could explain this extreme and continuously growing memory usage in GuideMe. My prototype more heavily (than my older scripts) uses "file handling" (saving and loading data from and into txt or config files), but the individual "saves" are only a few bytes large. So nothing which explains this behaviour to me.

Somebody any ideas?

Re: GuideMe (TeaseMe v2.0) - Current Build 0.3.4

Posted: Thu Jan 11, 2018 9:54 pm
by philo
d3vi0n wrote: Thu Jan 11, 2018 12:17 pm Last time with it even crossed 2.5 GB Memory usage while I was testing. There was no denying that this memory usage costs a visible amount of performance and slows everything in the tease down.

Somebody any ideas?
in start.bat the amount of memory assigned to the java jvm is set

start .\java\bin\javaw.exe -Xms3072m -Xmx3072m

so about 3GB maximum for the JVM for the 64bit.
you can try lowering this


the 32bit is set to about 1GB
start .\jre\bin\javaw.exe -Xms1152m -Xmx1152m

I have a 8GB machine so 3GB for the Java JVM is fine

Java does automatic garbage collection, but in this instance I suspect I am not disposing of the images properly, so Java thinks they are still in use so keeps them in memory.
I will have a look and see if it is anything obvious

Re: GuideMe (TeaseMe v2.0) - Current Build 0.3.4

Posted: Fri Jan 12, 2018 6:13 am
by d3vi0n
philo wrote: Thu Jan 11, 2018 9:54 pm
d3vi0n wrote: Thu Jan 11, 2018 12:17 pmLast time with it even crossed 2.5 GB Memory usage while I was testing. There was no denying that this memory usage costs a visible amount of performance and slows everything in the tease down.
Java does automatic garbage collection, but in this instance I suspect I am not disposing of the images properly, so Java thinks they are still in use so keeps them in memory. I will have a look and see if it is anything obvious
Not sure you're right here. Like i said. The whole tease directory uses around 49 MB space on the hard drive and has only a dozen or so (placeholder) images. And still the java process quickly jumps from around 200 MB to over 1 GB and grows from there (one time even crossed 2.5 GB Memory usage). That with only 49 MB data in total and a dozen images? How many times loads java every single image into memory to get to 2.5 GB Memory usage? And why?

Re: GuideMe (TeaseMe v2.0) - Current Build 0.3.4

Posted: Fri Jan 12, 2018 8:08 pm
by philo
d3vi0n wrote: Fri Jan 12, 2018 6:13 am
philo wrote: Thu Jan 11, 2018 9:54 pm
d3vi0n wrote: Thu Jan 11, 2018 12:17 pmLast time with it even crossed 2.5 GB Memory usage while I was testing. There was no denying that this memory usage costs a visible amount of performance and slows everything in the tease down.
Java does automatic garbage collection, but in this instance I suspect I am not disposing of the images properly, so Java thinks they are still in use so keeps them in memory. I will have a look and see if it is anything obvious
Not sure you're right here. Like i said. The whole tease directory uses around 49 MB space on the hard drive and has only a dozen or so (placeholder) images. And still the java process quickly jumps from around 200 MB to over 1 GB and grows from there (one time even crossed 2.5 GB Memory usage). That with only 49 MB data in total and a dozen images? How many times loads java every single image into memory to get to 2.5 GB Memory usage? And why?
GuideMe loads the image on page load, if it is a compressed file (e.g. a jpg file) it needs to uncompress it in memory.
So if you convert an image to bmp you will see how much memory it would need to be loaded into guideme.
Normal it discards the memory image after displaying it, but I introduced a bug where it wasn't. So even if you had the same image on multiple pages it would still load the image multiple times into memory.
The -Xms and -Xmx in start.bat set the start memory and the maximum memory that Java can use.
The 64bit version is optimised for my machine which has 8GB of memory, so I allocate java 3GB at start up.

It should run fine with 1GB although if you have a tease with very high resolution jpg files it may struggle.

I have PMd you a link to the fixed v3.5 guideme.jar file to test to make sure that definitely was the issue.

Re: GuideMe (TeaseMe v2.0) - Current Build 0.3.4

Posted: Fri Jan 12, 2018 8:36 pm
by d3vi0n
Thx... i will give it a try as soon as possible... :w00t: :wave:

Re: GuideMe (TeaseMe v2.0) - Current Build 0.3.4

Posted: Mon Jan 15, 2018 6:54 pm
by devotes.julchen
Is it somehow possible to include a file (image) upload in the guides?

Code: Select all

<form>
  <input name="file" type="file" />
</form>

Re: GuideMe (TeaseMe v2.0) - Current Build 0.3.4

Posted: Mon Jan 15, 2018 7:44 pm
by philo
devotes.julchen wrote: Mon Jan 15, 2018 6:54 pm Is it somehow possible to include a file (image) upload in the guides?

Code: Select all

<form>
  <input name="file" type="file" />
</form>
Probably, but it is a bit unclear what you are asking.
If you want to give me a better idea of what you are trying to achive I can be a bit more helpful

GuideMe 3.4 Logging

Posted: Wed Jan 17, 2018 6:16 pm
by PlayfulGuy
@philo

Hi philo. I have three items for you:

I am trying to test some stuff in Guideme 3.4 (32 bit version) but I can't get any logging. I tried it on my 64 bit machine and it seems to be working, but on a 32 bit machine there are no logs created at all. I do all my development on a 32 bit machine so this is kind of a pain.

Also, in Application Preferences I have turned off Javascript Debug, but have Debug turned on.
I then open Guideme 3.4, click on the Debug menu and disable the "Javascript Break on exception" option. When I close Guideme and re-open it, this option gets turned back on. I have to go turn it off again every time. Very annoying.

Also, when you click on File/User Preferences the user preferences page displays but none of the items have labels. It seems that userSettings.getScreenDesc is either failing or always returns a null string.

Thanks

PG

Re: GuideMe 3.4 Logging

Posted: Wed Jan 17, 2018 7:49 pm
by philo
PlayfulGuy wrote: Wed Jan 17, 2018 6:16 pm @philo

Hi philo. I have three items for you:

I am trying to test some stuff in Guideme 3.4 (32 bit version) but I can't get any logging. I tried it on my 64 bit machine and it seems to be working, but on a 32 bit machine there are no logs created at all. I do all my development on a 32 bit machine so this is kind of a pain.

Also, in Application Preferences I have turned off Javascript Debug, but have Debug turned on.
I then open Guideme 3.4, click on the Debug menu and disable the "Javascript Break on exception" option. When I close Guideme and re-open it, this option gets turned back on. I have to go turn it off again every time. Very annoying.

Also, when you click on File/User Preferences the user preferences page displays but none of the items have labels. It seems that userSettings.getScreenDesc is either failing or always returns a null string.

Thanks

PG
Have a look in the log4j2.xml file
I may have dropped the default logging level as most people will not look at the logs.
level is probably set to info, try setting it to all

Code: Select all

	<loggers>
		<root level="info">
			<appender-ref ref="Console" />
			<appender-ref ref="File" />
			<appender-ref ref="Jscript" />
		</root>
	</loggers>
The values you can set it to are defined here
https://logging.apache.org/log4j/1.2/ap ... Level.html

I had spotted the user settings issue, that is fixed in the next version.

Break on exception should only do something if javascript debugging is turned on.
I haven't coded it to remember those specific options between sessions as there didn't seem much point (Plus I was more concentrating on getting debugging working which turned out to be a lot more work than I expected)

Re: GuideMe 3.4 Logging

Posted: Thu Jan 18, 2018 3:54 pm
by PlayfulGuy
philo wrote: Wed Jan 17, 2018 7:49 pm
Have a look in the log4j2.xml file
I may have dropped the default logging level as most people will not look at the logs.
level is probably set to info, try setting it to all
The values you can set it to are defined here
https://logging.apache.org/log4j/1.2/ap ... Level.html
I set it to DEBUG (and tried "debug" in case they are case sensitive) but no change. No log files are created and nothing is logged.
philo wrote: Wed Jan 17, 2018 7:49 pm Break on exception should only do something if javascript debugging is turned on.
I haven't coded it to remember those specific options between sessions as there didn't seem much point (Plus I was more concentrating on getting debugging working which turned out to be a lot more work than I expected)
I figured that's what should happen, but for me at least that's not what is happening. It does seem to be remembering the setting, or turning it back on all the time.

PG

Re: GuideMe (TeaseMe v2.0) - Current Build 0.3.4

Posted: Thu Jan 18, 2018 4:38 pm
by Alex1990geil
Hey Everybody,

can you give me an overview of GuideMe Teases with the download links?

Thanks in advance

Re: GuideMe 3.4 Logging

Posted: Thu Jan 18, 2018 7:42 pm
by philo
PlayfulGuy wrote: Thu Jan 18, 2018 3:54 pm
philo wrote: Wed Jan 17, 2018 7:49 pm
Have a look in the log4j2.xml file
I may have dropped the default logging level as most people will not look at the logs.
level is probably set to info, try setting it to all
The values you can set it to are defined here
https://logging.apache.org/log4j/1.2/ap ... Level.html
I set it to DEBUG (and tried "debug" in case they are case sensitive) but no change. No log files are created and nothing is logged.
philo wrote: Wed Jan 17, 2018 7:49 pm Break on exception should only do something if javascript debugging is turned on.
I haven't coded it to remember those specific options between sessions as there didn't seem much point (Plus I was more concentrating on getting debugging working which turned out to be a lot more work than I expected)
I figured that's what should happen, but for me at least that's not what is happening. It does seem to be remembering the setting, or turning it back on all the time.

PG
So does it still bring up the java debug widow even when javascript debug is not selected?

If you want to send me your complete log4j.xml I can try it.
or try this one

also you can try changing javaw to just java in start.bat which will open the java console in a window which might give a better idea of any issues

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appenders>
    <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
    </Console>
    <RollingFile name="File" fileName="logs/guideme.log" filePattern="logs/$${date:yyyy-MM}/guideme-%d{MM-dd-yyyy}-%i.log">
      <Policies>
        <TimeBasedTriggeringPolicy />
        <SizeBasedTriggeringPolicy size="10 MB" />
      </Policies>
      <DefaultRolloverStrategy max="3" />
      <PatternLayout pattern="%d{ISO8601} %-5level %logger{1} - %msg%n%throwable" />
      <MarkerFilter marker="JSCRIPT" onMatch="DENY" onMismatch="ACCEPT" />
    </RollingFile>
    <RollingFile name="Jscript" fileName="logs/jscript.log" filePattern="logs/$${date:yyyy-MM}/jscript-%d{MM-dd-yyyy}-%i.log">
      <Policies>
        <TimeBasedTriggeringPolicy />
        <SizeBasedTriggeringPolicy size="10 MB" />
      </Policies>
      <DefaultRolloverStrategy max="3" />
      <PatternLayout pattern="%d{ISO8601} %-5level %logger{1} - %msg%n%throwable" />
      <MarkerFilter marker="JSCRIPT" onMatch="ACCEPT" onMismatch="DENY" />
    </RollingFile>
    <RollingFile name="Vlcj" fileName="logs/vlc.log" filePattern="logs/$${date:yyyy-MM}/vlc-%d{MM-dd-yyyy}-%i.log">
      <Policies>
        <TimeBasedTriggeringPolicy />
        <SizeBasedTriggeringPolicy size="10 MB" />
      </Policies>
      <DefaultRolloverStrategy max="3" />
      <PatternLayout pattern="%d{ISO8601} %-5level %logger{1} - %msg%n%throwable" />
    </RollingFile>
  </appenders>
  <loggers>
    <logger name="uk.co.caprica.vlcj" level="debug" additivity="false">
      <appender-ref ref="Vlcj" />
    </logger>
    <root level="trace">
      <appender-ref ref="File" />
      <appender-ref ref="Jscript" />
      <appender-ref ref="Console"/>
    </root>
  </loggers>
</configuration>