Download - Improving Performance of Custom Brushes in Painter 12 - Chris' Brush Blog

Transcript
  • 7/29/2019 Improving Performance of Custom Brushes in Painter 12 - Chris' Brush Blog

    1/6

    Sign in | Join | Help

    Chris' Brush Blog

    Improving Performance of Custom Brushes in Painter 12

    Painter delivers an incredible amount of power to create brushes of all kinds. There are many different brush technologies available,

    each with various options. Part of the power of Painter is the ability to create custom brushes with all of these options available.

    When I create custom brushes, I usually take a few minutes to tweak the settings to optimize my brush speed. There are many

    ways to do this, and I would like to share just a few of the quick and easy tricks I use to optimize the performance of my brush

    variants.

    Depending on which brush technology you are using for your brush, some of there tricks may not apply. Also, depending on your

    particular hardware or system configurations, your results will vary from mine.

    1. Spacing (spacing and min spacing)

    If your brush is a "stamp" brush, meaning that is is a brush which "stamps" bitmaps in sequence, then spacing will have a huge

    impact on performance.

    Here is an example of how you can tweak spacing to improve performance.

    Using the "Acrylics - Wet Acrylic" brush, I resize the brush radius from 30 to 200 pixels. The brush is now obviously slower than it

    was at 30.

    If I open the "Spacing" panel in the brush controls I see the following settings:

    I then increase the minimum spacing between each "stamp" to 20 pixels. Since the brush radius is 200, using a min distance of 20

    still looks good.

    Using a benchmark test, I can now measure that the brush is 171% faster. Pretty good for one adjustment! Let's see if we can do

    better

    I now adjust the spacing between the stamps from 8% to 15%. I find that anything above 15% loses the "look" of the brush.

    roving Performance of Custom Brushes in Painter 12 - Chris' Brus... http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i...

    6 07/10/2011 19:33

    http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/ihttp://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i
  • 7/29/2019 Improving Performance of Custom Brushes in Painter 12 - Chris' Brush Blog

    2/6

    Using my benchmark test, I see that the brush is now just over 200% faster. Not bad! The only thing I noticed is that the brush is

    not quite as opaque. So I increase my opacity from 73% to 90%.

    There you go, with a few adjustments, my 200 pixel brush is about twice a fast.

    For better brush performance, you want to use the highest values possible for spacing and minimum spacing, while still maintaining

    your brush "look" so that the "stamps" are not too far apart. So start with high values, and work your way down until you like the

    look of the brush.

    2. Boost

    Boost is similar to spacing, but is used for brushes that are not "stamp" brushes. Increasing the boost setting, will increase the

    distance between each connection point in your brush stroke. In Painter 12, the boost slider is located on the spacing panel.

    Consider this example, using the "Acrylics - Thick Acrylic Round" variant:

    I resize the brush radius from 30 to 200 pixels, and again I notice that it is slower than it was at 30.

    I set boost to 15%. Notice that spacing is disabled, because this is not a "stamp" brush, whereas the boost slider is now enabled

    instead.

    Using a benchmark test, I can measure that my brush is now 293% faster. That's almost 3 times faster!

    Again the trick here is to use the highest "boost" setting that will still give you the look of the brush you desire. If you don't like how

    your brush looks, just bring the boost slider down until you find the best setting for both performance and brush look.

    3. Feature

    Depending on the brush technology used for your brush, the "feature" control can have different meanings.

    In this example, "Acrylics - Thick Acrylic Round", feature is the density of the bristles. The denser the brush, the slower it will be

    because it needs to compute and render more bristles marks.

    If I resize this brush from 30 to 200 pixels, I notice that my "feature" setting is automatically scaled from 3.7 to 9.6. This is thanks to

    a new option in Painter 12, which allows brushes to automatically maintain bristle density as you resize them. This is called "Scale

    Feature with Brush Size".

    roving Performance of Custom Brushes in Painter 12 - Chris' Brus... http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i...

    6 07/10/2011 19:33

    http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/ihttp://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i
  • 7/29/2019 Improving Performance of Custom Brushes in Painter 12 - Chris' Brush Blog

    3/6

    Note that a HIGHER FEATURE = LOWER BRISTLE DENSITY

    But without this new option, my "feature" setting would have stayed at 3.7. If I measure the performance difference from having

    feature at 3.7 vs 9.6 using my benchmark test, I can see that the brush is a little over6x faster! That is a huge difference.

    Sometimes though you still want to manually tweak the "feature" setting to get the exact bristle look you want. The key here is to

    increase feature as high as you can (basically decreasing bristle density), while still keeping the brush looking like you want it.

    In this case, I like the look of my brush with a "feature" of 12.0. This gives me a brush that is about 1.4x fasterthan using a feature

    of 9.6. And the brush is almost 9x times faster than using a feature of 3.7, which would have happened without the new automatic

    "Scale feature with Brush Size" option.

    4. Multicore

    The last setting that I wanted to mention, which can really affect brush performance is the new "multicore" option.

    roving Performance of Custom Brushes in Painter 12 - Chris' Brus... http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i...

    6 07/10/2011 19:33

    http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/ihttp://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i
  • 7/29/2019 Improving Performance of Custom Brushes in Painter 12 - Chris' Brush Blog

    4/6

    If you enable this setting, Painter will distribute the brush "work" to the multiple cores on your computer. For many brushes, this can

    help performance. However, in some cases, enabling multicore can actually reduce performance. For example, if your brush uses

    a small radius, or if the brush is not complex enough, then the cost of enabling multicore could be greater than the benefit.

    Painter comes with most brushes with this option enabled. However, some brushes have it disabled because in our test systems

    we found that it would not help for those brushes.

    For this example I will use the "Acrylics - Clumpy Brush" variant. If I resize the brush to 400 pixels and measure the performance

    using my benchmark test, I can see that enabling the multicore option makes my brush approximately 3.5x faster.

    My recommendation here is to simply try it. If you feel the brush is the same or faster, then I would leave the multicore option on.

    Otherwise, just turn it off for that brush.

    Summary

    With just a few minor adjustments to spacing (and min spacing), boost, feature and multicore, you can make a really big impact

    on your brush performance with little visual impact.

    This is especially useful when increasing the size of you brushes.

    If you have comments or questions, please send them along!

    In the meantime, happy "FAST" painting :)

    Chris

    Published Friday, June 17, 2011 12:22 PM by Chris.T

    Filed under: Scale Feature with Brush Size, Multicore, Min Spacing, Spacing, Boost, Feature,

    Brush Performance

    Comments

    # re: Improving Performance of Custom Brushes in Painter 12@ Friday, June 17, 2011 3:33 PM

    Very good tutorial! Thank you!

    Question though ... HOW are you 'benchmarking' your brushes? It sounds like an intriguing

    idea.

    by Robyn

    roving Performance of Custom Brushes in Painter 12 - Chris' Brus... http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i...

    6 07/10/2011 19:33

    http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/ihttp://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i
  • 7/29/2019 Improving Performance of Custom Brushes in Painter 12 - Chris' Brush Blog

    5/6

    # re: Improving Performance of Custom Brushes in Painter 12@ Friday, June 17, 2011 8:14 PM

    Hi Chris,

    First I would like to thank you for your excellent blog... I'm really getting a lot out of it... keep

    up the good work!

    My OS is WIN7 x64 with an Intel i5 processor 1GB of video memory and 8GB of main memory

    with plenty of disk space. I have a windows gadget that shows me what each of my 4

    processors are doing in close to real time, along with how much free memory I have. Whenmost (but not all) brushes are running with Multicore enabled, all four processors max out to

    100% when using the brush and it brings my system to a crawl. The result don't look any better

    than without it enabled. These are brush as shipped without any other tweaking on my part. Is

    this normal? Are you also getting these kinds of result?

    Next I'm also curious about how you do the benchmarking of brush speed.

    Thanks again Chris!

    by Robert# re: Improving Performance of Custom Brushes in Painter 12@ Friday, June 17, 2011 8:20 PM

    Thank you so much for this blog. You are giving us all some very very valuable information.

    Claudia

    by cpendlay# re: Improving Performance of Custom Brushes in Painter 12@ Saturday, June 18, 2011 10:17

    AM

    Terrific Chris. I am so grateful that you are taking the time to write this blog. I never

    understood boost now I do.

    Thanks again,

    Skip

    by skipallen# re: Improving Performance of Custom Brushes in Painter 12@ Tuesday, June 21, 2011 12:42

    PM

    Thanks for all the feedback!!! :)

    Question 1: Benchmarking

    I forgot to mention that I use a special tool, that is unfortunately not currently available to the

    public. This "tool" essentially plays back several recorded strokes in Painter using the current

    brush and measures the time it takes. This way you can calculate numerically the impact of

    changing some brush settings.

    More than numbers, the important thing though, is if you can actually "tell" that the brush is

    faster while brushing, and hopefully some of these tricks will allow you to create faster brushes.

    Question 2: Multicore

    If you use default brushes, with multicore ON (as shipped) and they feel slower than with

    multicore OFF, then I would check if you have another application running in the background

    using CPU cycles. I would try closing other apps for example.

    Robert, can you send me which brush you are using that has this problem? You can use my

    email address if you like, which should be visible on my profile.

    by Chris.T# re: Improving Performance of Custom Brushes in Painter 12@ Wednesday, June 22, 2011

    5:55 PM

    Hey Chris...

    roving Performance of Custom Brushes in Painter 12 - Chris' Brus... http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i...

    6 07/10/2011 19:33

    http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/ihttp://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i
  • 7/29/2019 Improving Performance of Custom Brushes in Painter 12 - Chris' Brush Blog

    6/6

    I always wondered about the Spacing and Min Spacing settings. I've never played much with

    them but, then again, it's extremely rare for me to use brushes over say...oh...80px probably

    because most of my paintings top out at about 11x14".

    That said, I now have a much better feel for these options and a much better understanding of

    Boost. I have played with Feature a bit when working with the DWC brushes...

    Can't wait to read the next installment...'-}}

    Terrie

    by tlb# re: Improving Performance of Custom Brushes in Painter 12@ Friday, June 24, 2011 3:29 PM

    Chris, thanks for taking the time to share all this knowledge with us!..anything i can do to help

    my 4 cylinder pc with a tune up is great!..i can always start over if,or when i should say, i

    muck things all up...learning HOW the program works is as important as learning how to

    actually paint ,for me anyway...

    Warm Brownies and milk for your efforts

    Tim

    by porky# re: Improving Performance of Custom Brushes in Painter 12@ Friday, June 24, 2011 8:07 PM

    Thank you very much Chris. Very timely and useful info. Porky provided a link to this

    post...thanks Porky.

    by nightshadow# re: Improving Performance of Custom Brushes in Painter 12@ Monday, June 27, 2011 12:42

    PM

    Yes, I agree that brush performance is more useful for larger brushes :)

    Glad to see that some of this is useful... oh and thanks for the brownies lol !

    by Chris.T# re: Improving Performance of Custom Brushes in Painter 12@ Tuesday, June 28, 2011 9:06

    PM

    I just wanted to mention that small brushes can actually benefit from multicore as well. It's just

    that in some cases, for a variety of reasons (combination of using a small brush with a really

    simple brush technology for instance), the benefits of using multicore can either be not

    noticeable, or it can make your brush slower. If this is the case, simply turn off multicore for

    that brush.

    Because Painter as so many brush options, the users can create very customized brushes. It is

    therefore possible to create brushes that will not benefit from multicore.

    But for many/most brushes, multicore will give you a performance boost.

    by Chris.T# Addressing brush lag in Service Pack 1@ Wednesday, August 10, 2011 3:46 PM

    We designed Painter 12 with multi-core computers in mind. A modern multi-core computer

    should see significant

    by Dan's Painter Insights

    Corel Corporation. The content herein is in the form of a personal web log ("Blog") or forum posting. As such, the views expressed in

    this site are those of the participants and do not necessarily reflect the views of Corel Corporation, or its affiliates and their respective

    officers, directors, employees and agents. Terms and Conditions.

    Banner Artwork by Andrew Jones.

    roving Performance of Custom Brushes in Painter 12 - Chris' Brus... http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i...

    http://painterfactory.com/blogs/chris_brush_blog/archive/2011/06/17/i