Re: C2J.ConvertShape(GraphicsPath) very very slow

David Thielen <[email protected]> Wed, 30 May 2018 12:31:11 +0000
Newsgroups gmane.comp.java.ikvm.devel
Message-ID <SN1PR12MB0430A746D65B48F02892D0F0C16C0@SN1PR12MB0430.namprd12.prod.outlook.com>
--===============6918867574268711079==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_SN1PR12MB0430A746D65B48F02892D0F0C16C0SN1PR12MB0430namp_"

--_000_SN1PR12MB0430A746D65B48F02892D0F0C16C0SN1PR12MB0430namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

That's what I was heading toward too. Bit more of a pain that way but yes, =
should be faster.

Thanks - dave


From: Volker Berlin [mailto:[email protected]]
Sent: Wednesday, May 30, 2018 12:09 AM
To: [email protected]
Subject: Re: [Ikvm-developers] C2J.ConvertShape(GraphicsPath) very very slo=
w


Am 30.05.2018 um 02:03 schrieb David Thielen:
Hi all;

We have some code that is using the Apache xml-graphics to create a PostScr=
ipt file. For formatted text we call TextLayout.draw(Graphics2D, double, do=
uble) and that works its way down to C2J.ConvertShape(GraphicsPath) which t=
hen calls GraphicsPath.get_PathPoints.

And GraphicsPath.get_PathPoints is 97% of our total processing time for the=
 app. It's taking seconds, sometimes tens of seconds, for each call.

Is there anything we can do about this?

Use instead some of the drawString methods.



Thanks - dave





--_000_SN1PR12MB0430A746D65B48F02892D0F0C16C0SN1PR12MB0430namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	color:black;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";
	color:black;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	color:black;}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle19
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	color:black;}
span.EmailStyle22
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor=3D"white" lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"color:windowtext">That&#8217;s what I=
 was heading toward too. Bit more of a pain that way but yes, should be fas=
ter.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:windowtext"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"color:windowtext">Thanks &#8211; dave=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:windowtext"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"color:windowtext"><o:p>&nbsp;</o:p></=
span></p>
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"color:windowtext">From:</span></b>=
<span style=3D"color:windowtext"> Volker Berlin [mailto:vberlin@inetsoftwar=
e.de]
<br>
<b>Sent:</b> Wednesday, May 30, 2018 12:09 AM<br>
<b>To:</b> [email protected]<br>
<b>Subject:</b> Re: [Ikvm-developers] C2J.ConvertShape(GraphicsPath) very v=
ery slow<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal">Am 30.05.2018 um 02:03 schrieb David Thielen:<o:p></=
o:p></p>
</div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<p class=3D"MsoNormal">Hi all;<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal">We have some code that is using the Apache xml-graph=
ics to create a PostScript file. For formatted text we call TextLayout.draw=
(Graphics2D, double, double) and that works its way down to C2J.ConvertShap=
e(GraphicsPath) which then calls GraphicsPath.get_PathPoints.<o:p></o:p></p=
>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal">And GraphicsPath.get_PathPoints is 97% of our total =
processing time for the app. It&#8217;s taking seconds, sometimes tens of s=
econds, for each call.<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal">Is there anything we can do about this?<o:p></o:p></=
p>
</blockquote>
<p class=3D"MsoNormal"><br>
Use instead some of the drawString methods.<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal">Thanks - dave<o:p></o:p></p>
<p class=3D"MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
</blockquote>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

--_000_SN1PR12MB0430A746D65B48F02892D0F0C16C0SN1PR12MB0430namp_--


--===============6918867574268711079==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
--===============6918867574268711079==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Ikvm-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ikvm-developers

--===============6918867574268711079==--