Re: [JPP-Devel] OpenJUMP start error wit r3580

2013-06-11 Thread edgar . soldin
On 11.06.2013 08:49, Rahkonen Jukka wrote:
 Hi,
 
 The following happens with r3580 with the simple unzip installation. I could 
 make OJ to start by copying the oj_windows.bat file from an older version (OJ 
 1.5.2).  There must be some troubles in detecting my system characteristics.
 Editing the original r3580 oj_windows.bat to point to jre6 in another 
 directory did not help.
 
 
 Warning: No java interpreter found in path.
 Retry using Wow64 filesystem [32bit environment] redirection.
 Using 'java' found in 'c:\Windows\System32\'
 java version 1.7.0_21; Java(TM) SE Runtime Environment (build 
 1.7.0_21-b11); Java HotSpot(TM) Clie
 nt VM (build 23.21-b01 mixed mode sharing)
 ---PATH---
 lib\native\seven64;lib\native\seven;lib\native;lib\ext;C:\oracle\OraClient11g\bin;C:\oracle\OraClien
 t10g101\bin;c:\windows\system32;c:\windows;c:\windows\system32\wbem;c:\windows\system32\windowspower
 shell\v1.0\;
 ---CLASSPATH---
 .;bin;conf;lib\batik-awt-util-1.6.jar;lib\batik-bridge-1.6.jar;lib\batik-css-1.6.jar;lib\batik-dom-1
 .6.jar;lib\batik-ext-1.6.jar;lib\batik-gui-util-1.6.jar;lib\batik-gvt-1.6.jar;lib\batik-parser-1.6.j
 ar;lib\batik-script-1.6.jar;lib\batik-squiggle-1.6.jar;lib\batik-svg-dom-1.6.jar;lib\batik-svggen-1.
 6.jar;lib\batik-swing-1.6.jar;lib\batik-transcoder-1.6.jar;lib\batik-util-1.6.jar;lib\batik-xml-1.6.
 jar;lib\bsh-2.0b4.jar;lib\buoy-1.8.jar;lib\jai_codec-1.1.2_01.jar;lib\jai_core-1.1.2_01.jar;lib\jama
 -1.0.2.jar;lib\jdom-1.1.3.jar;lib\jmatharray-20070905.jar;lib\jmathplot-20070905.jar;lib\js-1.5R4.1.
 jar;lib\jts-1.13.jar;lib\jython-2.2.jar;lib\log4j-1.2.16.jar;lib\OpenJUMP-20130602-r3580-nolang.jar;
 lib\postgresql-9.2-1002.jdbc4.jar;lib\xercesImpl-2.8.1.jar;lib\xml-apis-1.3.03.jar;lib\xmlParserAPIs
 -2.0.2.jar;lib\native\jecw-0.0.7.jar
 ---Save logs  state to---
 C:\ohjelmat\OJ_163\OpenJUMP-20130602-r3580-PLUS\bin\..
 ---Detect maximum memory limit---
 set Xmx to 1024M (32 bit jre maximum)
 ---Start OJ---
 Error occurred during initialization of VM
 Could not reserve enough space for object heap
 Error: Could not create the Java Virtual Machine.
 Error: A fatal exception has occurred. Program will exit.
 
 

ok. so the output above is from the current starter bat, right?

could you give some specifics about your machine? os, memory built-in and free.

does that also happen when the system is started afresh?

..ede


--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


Re: [JPP-Devel] RenderingManager modes in skyjump

2013-06-11 Thread Geoffrey Roy

Dear Michael

I suspect the issues raised by  Larry are central to the issues I have 
had with printing.  In my printer plugin I have three options for 
printing and they each give slightly different results depending on what 
is being printed (scale of map, size of text and patterns etc).  It is 
often necessary for a user to try each mode then pick the results that 
best suits their needs.


Ideally the core renderer should do the job, but I appreciate the 
optimisations that are necessary for the UI may make this not easily 
possible.  I have come across a similar problem with printing large 
JTables (several thousand rows) where I had to manually force the 
image to be fully painted for the printing process.  Otherwise I found 
that only part of the image would actually get printed, depending on 
where the UI had scrolled to on the screen.


Whether the problem can be (economically) fixed is another problem

Geoff




On 10/06/2013 04:28, Michaël Michaud wrote:

Hi Larry (Becker),

I'm slowly progressing on this topic.
I added different rendering modes in RenderingManager,
Except the printing stuff, there are only a few classes where new 
modes are used.

I tested the change on AbstractZoomTool :
In OpenJUMP, MouseWheel zoom is done on an INTERACTIVE mode
In SkyJUMP, you use the EXECUTE_ON_EVENT_THREAD mode
I feel like INTERACTIVE mode gives a better feedback on large datasets
Is there any motivation to have changed rendering mode to
EXECUTE_ON_EVENT_THREAD in SKYJump for mousewheel zoom ?

Michaël


Hi Michaël,

  Thanks for starting this effort.  I'll try to answer your questions 
as best I can.  When I wrote this code four years ago, I was immersed 
in printer lore that I have mostly forgotten. Here are a few things 
that I can recall: (excuse my lecture tone, I know you are very 
knowledgeable on the subject of rendering)


1.  Rendering for interactive display has completely different goals 
than rendering for printing.  It is mostly an issue of responsiveness 
vs. quality.  The JUMP render architecture, as you well know, has 
excellent responsiveness and an especially quick redraw capability 
thanks to per-layer double buffering. In this aspect it far 
outperforms ArcMap and many other GIS programs.  While this is a 
positive for interactive use, it is a huge negative for printer 
rendering.  Having a timer-based repaint from an off-screen buffer 
occur while printing causes the output to change from vector to 
raster mode, so defeating double-buffering is very important.


2. The next issue is that rendering can be multi-threaded and this 
can cause problems for the inherently linear print process.  The best 
mode for printing is to render on the GUI thread because this will 
block other things from interfering with the print process.  This 
causes side effects such as blocking communication with WMS and other 
server based layers, but this is taken care of in the PrinterDriver 
by creating a Runnable to run in a separate task, but under control 
of the PrinterDriver.


3.  The next issue is resolution.  Normally, of course, we render to 
screen resolution which is usually between 72 and 120 dots per inch 
or a pixel size of .~ 28 mm.  I do some tricks to increase the 
apparent resolution without changing the scale. This is especially an 
issue when there are raster layers.  The PrinterPlugin interface has 
options to double the resolution of raster layers so that even when 
zooming in on a PDF it still appears smooth.


4.  There is the issue of transparency.  This is supported in PDF so 
it isn't a problem there, but it will cause problems for a real 
printer.  The UI has options to defeat transparency and other style 
settings that might not look quite so nice on a printer.


5.  There are also issues of line width scaling that make linestrings 
almost invisible at printer resolutions.


Getting back to more practical advice about implementing PDF 
generation in OpenJump, I would recommend you start first by 
implementing the SkyJUMP PrinterDriver and PrinterPlugin.  This will 
allow you to print to PDF with a free PDF print driver without 
getting into the iText library.  You can experiment with commenting 
out the RenderManager enhancements to see the effects, which for some 
situations may not be too bad. Once you get the driver working it 
should be easy add the iText library which gives the direct PDF 
generation with layers.


When testing the PDF output always determine first if it is 
generating true vectors by zooming in fully.  Then you may also see 
the effects of decimation as implemented in Java2DConverter and even 
in java.awt.Graphics2D.


That's all for now.  I've rambled on enough.  Let me know what else I 
can clarify.


Regards,

Larry





On Thu, Mar 14, 2013 at 3:00 AM, Michaël Michaud
michael.mich...@free.fr mailto:michael.mich...@free.fr wrote:

Hi Larry (Becker),

I've started pdf printer integration in openjump and the main
change 

Re: [JPP-Devel] OpenJUMP start error wit r3580

2013-06-11 Thread edgar . soldin
On 11.06.2013 11:52, Rahkonen Jukka wrote:
 Hi,
 
 I was willing to understand what goes wrong with your script, therefore echo 
 on.
 
 This is the console message but I thing you have seen it already:
 
 C:\ohjelmat\OJ_163\OpenJUMP-20130610-r3587-PLUS\binoj_windows
 Warning: No java interpreter found in path.
 Retry using Wow64 filesystem [32bit environment] redirection.
 Using 'java' found in 'c:\Windows\System32\'
 java version 1.7.0_21; Java(TM) SE Runtime Environment (build 
 1.7.0_21-b11); Java HotSpot(TM) Clie
 nt VM (build 23.21-b01 mixed mode sharing)

SNIP

 ---Detect maximum memory limit---
 set Xmx to 1024M (32 bit jre maximum)
 ---Start OJ---
 Error occurred during initialization of VM
 Could not reserve enough space for object heap
 Error: Could not create the Java Virtual Machine.
 Error: A fatal exception has occurred. Program will exit.
 
 The script assumes it has found java from windows\system32 
   Using 'java' found in 'c:\Windows\System32\'
 However, there is no java in that directory.
 

ok. first please answer inline or below. that makes quoting so much easier.
http://en.wikipedia.org/wiki/Posting_style#Choosing_the_proper_posting_style

wrt. to the wrong java binary. there is, but only using as the script says 
above Wow64.
http://en.wikipedia.org/wiki/WoW64

32bit dll's on win64 are despite the name located in C:\Windows\SysWOW64, while 
64bit dlls reside in C:\Windows\System32 . ok, right system files in general, 
not only libraries.

because these folders are always in the execute PATH newer java installers 
place binaries in these folders which in turn find their counterpart under 
Programs\ and run that.

ergo, the java is correct. the error says 


 Error occurred during initialization of VM
 Could not reserve enough space for object heap
 Error: Could not create the Java Virtual Machine.
 Error: A fatal exception has occurred. Program will exit.


so, as asked before ;) 
A. how much memory have you built-in and free.
B. does that also happen when the system is started afresh?

..ede

--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


Re: [JPP-Devel] OpenJUMP start error wit r3580

2013-06-11 Thread Rahkonen Jukka
Hi,

We have both done this thing so long that we know that there is no posting 
method (top/bottom/inline) that suits for every use case and makes everybody 
happy.  Inline suits this, I agree.


  ---Detect maximum memory limit---
  set Xmx to 1024M (32 bit jre maximum)
  ---Start OJ---
  Error occurred during initialization of VM Could not reserve enough
  space for object heap
  Error: Could not create the Java Virtual Machine.
  Error: A fatal exception has occurred. Program will exit.
 
  The script assumes it has found java from windows\system32
  Using 'java' found in 'c:\Windows\System32\'
  However, there is no java in that directory.
 
 
 ok. first please answer inline or below. that makes quoting so much easier.
 http://en.wikipedia.org/wiki/Posting_style#Choosing_the_proper_posting_style
 
 wrt. to the wrong java binary. there is, but only using as the script says 
 above
 Wow64.
 http://en.wikipedia.org/wiki/WoW64
 
 32bit dll's on win64 are despite the name located in C:\Windows\SysWOW64,
 while 64bit dlls reside in C:\Windows\System32 . ok, right system files in 
 general,
 not only libraries.
 
 because these folders are always in the execute PATH newer java installers 
 place
 binaries in these folders which in turn find their counterpart under Programs\
 and run that.
 
 ergo, the java is correct. the error says
 
 
  Error occurred during initialization of VM Could not reserve enough
  space for object heap
  Error: Could not create the Java Virtual Machine.
  Error: A fatal exception has occurred. Program will exit.

I see, there are java.exe, javaw.exe and javaws.exe in the C:\Windows\SysWOW64 
folder.

 
 so, as asked before ;)
 A. how much memory have you built-in and free.

8 gigabytes and 5 GB free.

 B. does that also happen when the system is started afresh?

No.   The default oj_windows.bat works after restart. But now I know that it 
has nothing to do with amount of memory or restarting the computer. This is a 
funny story.

I have my favourite OJ which I use all the time and I start is almost always 
with my computer. It is version 3131 (200121212) and I launch it with setting
set JAVA_HOME=C:\ohjelmat\Java\jre6

If this OpenJUMP r3131 is running, then the default oj_windows.bat cannot start 
new OpenJUMP r3587. However, if I edit the bat of the new version to use also 
set JAVA_HOME=C:\ohjelmat\Java\jre6, it starts. If I close r3131, r3587 starts 
with the default oj_windows.bat. This is something I can reproduce every time.

Also, if I still use the default batch file and start 3587 first and then 3131, 
I can launch more 3587 versions so that I can have 6  OpenJUMPs open, one of 
those r3131 and 5 r3587.
What definitely fails is to launch 3131 first and try to launch r3587 then with 
the standard oj_windows.bat.

So, perhaps oj_windows.bat used for launching r3131 is doing something that 
baffles r3687 launch script? This must be very uncommon issue and I do not 
believe (m)any other users will ever suffer from it.

-Jukka-






--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


Re: [JPP-Devel] OpenJUMP start error wit r3580

2013-06-11 Thread Rahkonen Jukka
edgar.sol...@web.de 


 On 11.06.2013 13:04, Rahkonen Jukka wrote:
  Hi,
 
  We have both done this thing so long that we know that there is no posting
 method (top/bottom/inline) that suits for every use case and makes everybody
 happy.  Inline suits this, I agree.
 
 just because i don't say anything, does not mean i agree when all of you guys
 top post away all the time ;) especially when there are several points to be
 answered, top posting would only work if i copy/paste a quote from below to
 my above answer.
 
 but no problem, just wanted to keep it readable for this issue, so i 
 mentioned it.
 
 
 
  ---Detect maximum memory limit---
  set Xmx to 1024M (32 bit jre maximum) ---Start OJ--- Error occurred
  during initialization of VM Could not reserve enough space for
  object heap
  Error: Could not create the Java Virtual Machine.
  Error: A fatal exception has occurred. Program will exit.
 
  The script assumes it has found java from windows\system32
Using 'java' found in 'c:\Windows\System32\'
  However, there is no java in that directory.
 
 
  ok. first please answer inline or below. that makes quoting so much easier.
  http://en.wikipedia.org/wiki/Posting_style#Choosing_the_proper_postin
  g_style
 
  wrt. to the wrong java binary. there is, but only using as the
  script says above Wow64.
  http://en.wikipedia.org/wiki/WoW64
 
  32bit dll's on win64 are despite the name located in
  C:\Windows\SysWOW64, while 64bit dlls reside in C:\Windows\System32 .
  ok, right system files in general, not only libraries.
 
  because these folders are always in the execute PATH newer java
  installers place binaries in these folders which in turn find their
  counterpart under Programs\ and run that.
 
  ergo, the java is correct. the error says
 
  
  Error occurred during initialization of VM Could not reserve enough
  space for object heap
  Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
 
  I see, there are java.exe, javaw.exe and javaws.exe in the
 C:\Windows\SysWOW64 folder.
 
 
  so, as asked before ;)
  A. how much memory have you built-in and free.
 
  8 gigabytes and 5 GB free.
 
  B. does that also happen when the system is started afresh?
 
  No.   The default oj_windows.bat works after restart. But now I know that it
 has nothing to do with amount of memory or restarting the computer. This is a
 funny story.
 
  I have my favourite OJ which I use all the time and I start is almost
  always with my computer. It is version 3131 (200121212) and I launch
  it with setting set JAVA_HOME=C:\ohjelmat\Java\jre6
 
  If this OpenJUMP r3131 is running, then the default oj_windows.bat cannot
 start new OpenJUMP r3587. However, if I edit the bat of the new version to use
 also set JAVA_HOME=C:\ohjelmat\Java\jre6, it starts. If I close r3131, r3587
 starts with the default oj_windows.bat. This is something I can reproduce 
 every
 time.
 
  Also, if I still use the default batch file and start 3587 first and then 
  3131, I can
 launch more 3587 versions so that I can have 6  OpenJUMPs open, one of those
 r3131 and 5 r3587.
  What definitely fails is to launch 3131 first and try to launch r3587 then 
  with
 the standard oj_windows.bat.
 
  So, perhaps oj_windows.bat used for launching r3131 is doing something that
 baffles r3687 launch script? This must be very uncommon issue and I do not
 believe (m)any other users will ever suffer from it.
 
 
 interesting.. my guesses would be
 
 A. an incompatibility of both jre's when run in parallel. can you force your
 preferred OJ 121212 to use the same java version 1.7.0_21 that the 3587
 uses and see if you still can reproduce the error when first starting 3131 and
 3587 thereafter?

I have no idea about how I can make r3131 to use the same version 1.7.0_21. 
The java.exe is perhaps there in C:\Windows\SysWOW64 but the old batch file 
does not accept is, nor windows/system32

 
 B. just read that -Xmx values accumulate over jre instances run in parallel
 http://stackoverflow.com/questions/9303889/error-occurred-during-
 initialization-of-vm-could-not-reserve-enough-space-for/11201475#11201475
 this maybe true or not, but maybe the first setting in the older OJ 3131 takes
 precedence or such.
 what happens if you uncomment the Xmx setting in 3131 and start 3131 with jr6
 and default 3587?

r3587 does not start. But r3141 does not use the clever autodetection for Xmx 
settings. However, I played with commenting/uncommenting the row. Nothing else 
than memory reservation seems to change.

-Jukka-


 
 ..ede


--
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
___
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel