I really like to see what the complexity of a tile is and what the proposed complexity is. It is quite hard to filter that out of the output of the client as 7za that the windows client uses to compress the tiles writes out a line for every tile, which can't be influenced by the loglevel, or the complexity output is not there at sufficient low loglevel, so I made a little change to write the complexity out to the logfile. I write two extra lines to the logfile, one just before starting rendering saying what the current tilecomplexity is. and one in autotuneComplexity saying what the proposed complexity setting is.

You then get logmessages in the logfile like this:

2008-10-27 11:33:02 [Trondheim] 35012 complexity tile 355980
2008-10-27 11:33:02 [Trondheim] 35012 GenerateTileset start x=3592,y=2067,z=12 for layers tile,maplint,captionless 2008-10-27 11:34:08 [Trondheim] 35012 GenerateTileset stop x=3592,y=2067,z=12 for layers tile,maplint,captionless
2008-10-27 11:34:08 [Trondheim] 35012 complexity proposed 6927260

Attached is the diff for the change. Any comments? Reasons why this is not a good idea?

Regards,
Maarten


J:\svn.openstreetmap.org\applications\rendering\tilesAtHome>svn diff tilesGen.pl
Index: tilesGen.pl
===================================================================
--- tilesGen.pl (revision 11501)
+++ tilesGen.pl (working copy)
@@ -589,6 +589,7 @@
             # got request, now check that it's not too complex
             if ($Config->get('MaxTilesetComplexity')) {
                 #the setting is enabled
+                keepLog($$,"complexity","tile",$req->complexity);
                 if ($req->complexity() > $Config->get('MaxTilesetComplexity')) 
{

                     # too complex!
                     statusMessage("Ignoring too complex tile (" . 
$req->ZXY_str() . ", "
@@ -715,6 +716,7 @@
     }
     $complexity = $minimum if $complexity < $minimum;
     statusMessage("Suggested complexity is currently: ".int($complexity)." 
",1,6);
+    keepLog($$,"complexity","proposed",int($complexity));
     if($Config->get('MaxTilesetComplexity')) {
         # if MaxTilesetComplexity is not set we still do our calculations
         # but we don't limit the client. The hint on client exit has to be 
enough.
_______________________________________________
Tilesathome mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/tilesathome

Reply via email to