diff --git a/benchmark/run.cpp b/benchmark/run.cpp index 86a8b14d6..061bcb6e6 100644 --- a/benchmark/run.cpp +++ b/benchmark/run.cpp @@ -408,95 +408,6 @@ struct test8 } }; -#include - -struct test9 -{ - unsigned iter_; - unsigned threads_; - unsigned num_rules_; - unsigned num_styles_; - std::vector rules_; - explicit test9(unsigned iterations, - unsigned threads, - unsigned num_rules, - unsigned num_styles) : - iter_(iterations), - threads_(threads), - num_rules_(num_rules), - num_styles_(num_styles), - rules_() - { - mapnik::rule r("test"); - for (unsigned i=0;i rule_caches; - for (unsigned i=0;i rules_; - explicit test10(unsigned iterations, - unsigned threads, - unsigned num_rules, - unsigned num_styles) : - iter_(iterations), - threads_(threads), - num_rules_(num_rules), - num_styles_(num_styles), - rules_() { - mapnik::rule r("test"); - for (unsigned i=0;i > rule_caches; - for (unsigned i=0;i rc(new rule_cache); - for (unsigned i=0;iadd_rule(rules_[i]); - } - rule_caches.push_back(std::move(rc)); - } - } - } -}; - - #include #include "agg_conv_clipper.h" #include "agg_path_storage.h" @@ -748,19 +659,8 @@ int main( int argc, char** argv) benchmark(runner,"expression parsing by re-using grammar"); } - { -#if BOOST_VERSION >= 105300 - test9 runner(1000,10,200,50); - benchmark(runner,"rule caching using move semantics"); -#else - std::clog << "not running: 'rule caching using move semantics'\n"; -#endif - } - - { - test10 runner(1000,10,200,50); - benchmark(runner,"rule caching using heap allocation"); - } + // TODO - consider bring back rule cache benchmarks after c++11 is in master + // previously test 9/10 // polygon/rect clipping // IN : POLYGON ((155 203, 233 454, 315 340, 421 446, 463 324, 559 466, 665 253, 528 178, 394 229, 329 138, 212 134, 183 228, 200 264, 155 203),(313 190, 440 256, 470 248, 510 305, 533 237, 613 263, 553 397, 455 262, 405 378, 343 287, 249 334, 229 191, 313 190)) diff --git a/bindings/python/mapnik_datasource.cpp b/bindings/python/mapnik_datasource.cpp index 2b34458a9..85e2ff721 100644 --- a/bindings/python/mapnik_datasource.cpp +++ b/bindings/python/mapnik_datasource.cpp @@ -61,7 +61,6 @@ boost::shared_ptr create_datasource(dict const& d) PyObject* temp = PyUnicode_AsUTF8String(obj.ptr()); if (temp) { - #if PY_VERSION_HEX >= 0x03000000 char* c_str = PyBytes_AsString(temp); #else diff --git a/demo/c++/rundemo.cpp b/demo/c++/rundemo.cpp index bfc71615b..20416c8a3 100644 --- a/demo/c++/rundemo.cpp +++ b/demo/c++/rundemo.cpp @@ -263,23 +263,27 @@ int main ( int argc , char** argv) image_32 buf(m.width(),m.height()); agg_renderer ren(m,buf); ren.apply(); + std::string msg("These maps have been rendered using AGG in the current directory:\n"); #ifdef HAVE_JPEG save_to_file(buf,"demo.jpg","jpeg"); + msg += "- demo.jpg\n"; #endif #ifdef HAVE_PNG save_to_file(buf,"demo.png","png"); save_to_file(buf,"demo256.png","png8"); + msg += "- demo.png\n"; + msg += "- demo256.png\n"; #endif #ifdef HAVE_TIFF save_to_file(buf,"demo.tif","tiff"); + msg += "- demo.tif\n"; #endif - - std::cout << "Three maps have been rendered using AGG in the current directory:\n" - "- demo.jpg\n" - "- demo.png\n" - "- demo256.png\n" - "- demo.tif\n" - "Have a look!\n"; +#ifdef HAVE_WEBP + save_to_file(buf,"demo.webp","webp"); + msg += "- demo.webp\n"; +#endif + msg += "Have a look!\n"; + std::cout << msg; #if defined(HAVE_CAIRO) // save to pdf/svg files diff --git a/demo/python/rundemo.py b/demo/python/rundemo.py index edfda31e8..aaaae439a 100644 --- a/demo/python/rundemo.py +++ b/demo/python/rundemo.py @@ -330,36 +330,40 @@ mapnik.render(m, im) # Save image to files images_ = [] -im.save('demo.png', 'png') # true-colour RGBA -images_.append('demo.png') +if mapnik.has_png(): + im.save('demo.png', 'png') # true-colour RGBA + images_.append('demo.png') -# old behavior, now can do 'png8:c=256' -im.save('demo256.png', 'png256') # save to palette based (max 256 colours) png -images_.append('demo256.png') + # old behavior, now can do 'png8:c=256' + im.save('demo256.png', 'png256') # save to palette based (max 256 colours) png + images_.append('demo256.png') -im.save('demo64_binary_transparency.png', 'png8:c=64:t=1') -images_.append('demo64_binary_transparency.png') + im.save('demo64_binary_transparency.png', 'png8:c=64:t=1') + images_.append('demo64_binary_transparency.png') -im.save('demo128_colors_hextree_no_alpha.png', 'png8:c=100:m=h:t=0') -images_.append('demo128_colors_hextree_no_alpha.png') + im.save('demo128_colors_hextree_no_alpha.png', 'png8:c=100:m=h:t=0') + images_.append('demo128_colors_hextree_no_alpha.png') -im.save('demo_high.jpg', 'jpeg100') -images_.append('demo_high.jpg') +if mapnik.has_jpeg(): + im.save('demo_high.jpg', 'jpeg100') + images_.append('demo_high.jpg') -im.save('demo_low.jpg', 'jpeg50') -images_.append('demo_low.jpg') + im.save('demo_low.jpg', 'jpeg50') + images_.append('demo_low.jpg') -im.save('demo.tif', 'tiff') -images_.append('demo.tif') +if mapnik.has_tiff(): + im.save('demo.tif', 'tiff') + images_.append('demo.tif') -im.save('demo.webp', 'webp') -images_.append('demo.webp') +if mapnik.has_webp(): + im.save('demo.webp', 'webp') # default quality is 90 + images_.append('demo.webp') -im.save('demo_med.webp', 'webp80') -images_.append('demo_med.webp') + im.save('demo_highest.webp', 'webp:quality=100') + images_.append('demo_med.webp') -im.save('demo_low.webp', 'webp50') -images_.append('demo_low.webp') + im.save('demo_low.webp', 'webp:quality=50') + images_.append('demo_low.webp') # Render cairo examples