<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
On 17-06-10 19:49, Martynas Mickevičius wrote:<br>
<blockquote
 cite="mid:AANLkTikjyUn50KrELyDzpk7AtlNZnu5Db-dsYrtbJn1c@mail.gmail.com"
 type="cite">
  <div>First of all pros:</div>
  <div>
  <ul>
    <li>no additional request to fetch the image from server.</li>
  </ul>
  </div>
</blockquote>
<br>
Which has as a big benefit that you don't need to store any
intermediate data in e.g. the php session. Or get it from MySQL again.<br>
<br>
<br>
<blockquote
 cite="mid:AANLkTikjyUn50KrELyDzpk7AtlNZnu5Db-dsYrtbJn1c@mail.gmail.com"
 type="cite">
  <div>
  <ul>
    <li>image generation script can return multiple values. For example
the image itself and the image map (later used for tooltips) can be
returned.<br>
    </li>
  </ul>
  </div>
</blockquote>
<blockquote
 cite="mid:AANLkTikjyUn50KrELyDzpk7AtlNZnu5Db-dsYrtbJn1c@mail.gmail.com"
 type="cite">
  <div>
  <div>Cons</div>
  </div>
  <div>
  <ul>
    <li>some overhead is introduced when encoding binary data into
base64 format. On my experiment 46kB image was encoded into 60kB. (~30%
overhead).</li>
    <li>Script execution is halted while the image generation is in
progress. This introduces slower response times for pages, which show
charts. (If the image is loaded in a "normal" way, in many
browsers page is started being rendered before images are received from
the server). This problem can be solved by writing rendered charts to
disk. However almost all planned charts are going to display dynamic
data (query results, profiling data, query statistics).</li>
    <li>Generated images can not be linked to externally. (hardly a
problem for PMA)</li>
  </ul>
  <div>The only real problem that I see is the longer script execution
times. However all the charts will be generated only on user request,
so we can assume that the user knows that the chart is coming soon and
expects to wait a little bit more.<br>
  </div>
  </div>
</blockquote>
<blockquote
 cite="mid:AANLkTikjyUn50KrELyDzpk7AtlNZnu5Db-dsYrtbJn1c@mail.gmail.com"
 type="cite">
  <div></div>
  <div><br>
  </div>
  <div>Both techniques are easy to implement. I have already images as
base64 strings working. Changing this would be a matter of minutes.</div>
  <div><br>
  </div>
  <div>What do you think?</div>
</blockquote>
<br>
Base64 images seems like an elegant solution to me. I agree that the
biggest drawback is the longer execution time. But in a scenario where
you want to have a fast loading UI and load these graphs in the
background, Javascript rendering would be available.<br>
So it that case you would use a different rendering engine.<br>
<br>
<pre class="moz-signature" cols="72">-- 
Met vriendelijke groet / Regards,

Herman van Rink 
Initfour websolutions

</pre>
</body>
</html>