From: Petr K. <kob...@gm...> - 2009-04-28 12:54:00
|
Hi devs, are somebody tried to implement fixed point calculations in antigrain? It seems that doing some things in fixed point is performance boost on all machines. But today I found something much more interesting: http://mlab.taik.fi/~kkallio/antialiasing/ If you download windows binary and run the tests you can see that presented rasterizer is twice as fast as GDI+ and AntiGrain (both included) and quality is also very good. Very interesting, the algorithm is different to antigrain and very optimized. ----- Currently I have ideas and plans to introduce multithreaded rendering in my library and I have question how can this play with antigrain. I have several ideas how multithreaded rendering can improve the speed and I'd like to present them: 1. Multiple threads can be used to blit rendered scanlines into output buffer. This means that I will need some way how to use agg rasterizer from multiple threads. Is this possible ? I mean only read/only access is needed (when everything is flushed out). Currently the rasterizer.sweep_scanline() is in my interest. 2. Threads can be also used to render different parts in image that not intersects. This way can improve rendering in GUI toolkits. Imagine for example list box or grid controls, the rows / columns are separate and if painter is able to serialize graphics operations there is no reason to not use threads. 3. Threads can be used to precalculate next path operations and rasterizing while main thread is filling something Of course the main idea is to mix all of these ideas to create powerful multithreaded painter, but I have currently not time to implement all. If there is some related work about this really I'm interested. ----- I have also news about blitjit library. Few days ago I tried to connect it with antigrain and my graphics library and it works. Still blitjit implements very few operations and I tried only CompositeOver. If there is anybody interested in making benchmark contact me (I will help with it), but currently I haven't time to do it myself (In future I will do). Everything is under MIT licence and can be found here: http://code.google.com/p/fog/ ----- Cheers and thanks for possible ideas - Petr |