You take a picture with your phone or your digital SLR.  Then you upload it to your computer and view it on your monitor.  Maybe you modify the image using more than one software before bringing it to Painter.  Lastly you share your image via the web or print.  In each step you have taken with your image, you have entered a potentially different color environment - resulting in unexpected color shifts in your image.  The intention of this blog post is to give Painter users an overview of basic color managed workflow in Painter 12. 

Before we begin, you'll need a quick overview of color profiles. The International Color Consortium (or ICC) is the international standard by which colors on all devices (monitors, scanners, printers) are interpreted.  ICC profiles (or color profiles) are a kind of metadata that is associated with an image that tells the supported devices and software how to interpret (or color manage) the colors of your image.  In theory, if each device handles the profile correctly, the image's color should be consistent throughout processing.  The default color profile that Painter 12 recommends and uses is the "sRGB IRC61966-2-1 noBPC" color profile. This particular color profile is recommended for publishing to web.  In addition, many print shops favour this particular color profile.  All this to say, while it's possible to assign a different color profile to your image in Painter 12, it's recommended that you're clear on the reasons why you would associate a color profile other than sRGB to your image. 

Now let's dig into common scenarios in Painter 12... 

Creating a New Image in Painter 

This is the easiest of all scenarios.  Maintaining default color management settings (accessed via Canvas->Color Management Settings...) in Painter 12 will automatically assign a default RGB color profile (sRGB) to your document.  When saving or copying from Painter, this color profile will be automatically associated to your image.  To reset color management settings to default, you need only select the "Default" preset in this dialog. 

Opening an Image in Painter 

Again, we'll assume that you have maintained default settings in Painter 12's color management settings (accessed via Canvas->Color Management Settings...).  If the image opened has no color profile associated to it, then Painter 12 will automatically use the default RGB profile (sRGB) to interpret the colors.  If the image has a color profile associated to it, then Painter will automatically use the color profile associated with the image to interpret the colors.  To view the color profile currently assigned to your document in Painter 12, go to File->Save As... and, assuming that the document type selected supports embedding a color profile (e.g. riff, tiff, jpg), you'll see the current color profile assigned to your document. 

Assuming that you wish to maintain the same color profile for your image, it's recommended that you DO NOTHING with regards to color management in Painter 12.  That is to say, Painter will faithfully round trip your opened document in and out without modifying your color profile. 

A quick note about CMYK... Painter manages and displays colors in your document using the RGB color space.  Any documents opened with CMYK color space will need to be converted.  Painter 12 provides various options for converting CMYK documents in it's color management settings (Canvas -> Color Management Settings...).  Long story short, if you want to open CMYK documents in Painter 12, then you must convert the colors from CMYK color space to RGB color space. 

Troubleshooting 

Now suppose that you opened a file in Painter 12 and have perceived a color change or unexpected color shift.  The first thing that I would caution is how easily we can be deceived when looking at colors.  That is to say, placing a particular swatch of color against a blue background versus a green background will affect how you perceive the color in question.  I would recommend that you try to neutralize this effect by looking at your document against a neutral grey color.  Painter's default working environment is grey with the intention of providing an optimal environment suitable for looking at colors correctly.  On Mac, you can set your document to full screen mode (Window -> Screen Mode Toggle) in order to fill-in the background color of your window with a grey background. 

Assuming that you aren't being troubled by color perception issues, then I would validate the color shift against another application on the same monitor.  So if you can open the document on the same monitor using a different color managed software (e.g. the latest version of Google Chrome offers color management on both Mac and Windows), then take a moment and compare the colors of the same image in both apps.  If they are the same, then perhaps you need to adjust the color profile associated with your image to correct the color shift.  If they are different, then you may want to check or reset your Color Management Settings in Painter 12 (Canvas->Color Management Settings...) to the Default preset.  Then try opening the file again in Painter 12 and perform the same comparison again... 

I also want to mention a quick note on Painter 12's navigator panel (Window -> Navigator). The preview of your image that appears here is based on your document and is therefore color managed.  However, the navigator panel is *not the same as* your document.  That is to say, the preview of your document is displayed as part of a control.  Furthermore, the image is resampled by Painter in order to fit within this control.  All of these factors can contribute to minor differences in color perception between the navigator's preview and the document. 

This blog is only the beginning of what can be done with the color management settings in Painter 12. As such, it is not intended to provide an exhaustive list of what you can do when creating and opening color managed files in Painter 12.  Nonetheless, my hope is that it provides enough information to help safeguard most users against troublesome color shifts in Painter 12.  I welcome your feedback and questions. 

Stay tuned for Color Managed Workflow in Painter 12 - Part 2: Out of Painter... 

In peace,

Caroline

 

If you're not familiar with Corel Cinco for Painter, I invite you to visit the product website to learn about its features: www.corel.com/installcinco

Let me provide you with a bit of history on Cinco. Well over a year ago, one of the Painter developers brought his iPad to work. He was very keen to show us that, in his free time, he had succeeded in creating an iOS application that could “talk to Painter”. Over the course of the year, a few additional developers got involved to update and tweak the early prototype, and then (finally, and thankfully) designers came on board to shape it into what is now called Cinco. So, to conclude this brief history, I would like to take a moment to acknowledge all of the members of the Painter team, both past and present, who contributed directly, or indirectly, to the creation of Cinco.

Now, without further ado… the gory details!!! First of all, I won’t repeat what was already covered in this blog on the subject of Painter custom palettes. If you've never created a custom palette in Painter and have never added a command to a custom palette, then I would suggest that you begin by reading Dan’s post on the subject: http://painterfactory.com/blogs/dans_painter_insights/archive/2011/06/10/custom- palettes.aspx

Did you read it? Pretty cool, eh?  So, now that you are a pro at finding your favourite commands in Painter and collecting them in custom palettes, here are my Top Five Tips for creating custom palettes in Painter that are optimized for Cinco.

Tip #1 - Cinco is all about grouping commands under your hand... in groups of 5 of course... ;-)

Once you've created a custom palette, you should reorder the commands or content (e.g. brushes, papers) in groups of 5 and in order of priority. By doing this, the first row of 5 commands appears on the first page in Cinco, the second row of 5 commands appears on the second page, and so on...

An example of a Painter custom palette layout...

Cinco is also clever about handedness. You can calibrate Cinco to work with your left or right hand. This means that the grid layout that you specify in Painter translates into two configurations in Cinco.

Cinco left handed layout...

Cinco - Page 1, Left HandedCinco - Left Handed Layout - Page 2

Cinco right handed layout...

Cinco - Right Handed Layout - Page 1Cinco - Right Handed Layout - Page 2

Tip #2 - Check out the context menu on your custom palette commands in Painter.

Go ahead, right-click any command in any custom palette in Painter to customize the commands. For example, you can rename a command or change the icon that's associated with it. This brings me to an important Cinco optimization tip that involves icons.

Tip #3 - Keep those icons a reasonable size!

If your icons are too large, it will take a long time for Cinco to get your custom palette from Painter. This is why I recommend using icons that are no larger than 64x64 pixels. It's also important to keep in mind that if you're running on a busy wireless network connection, or are running a bunch of apps on your iPad 1, this could also bog Cinco down.

Tip #4 - Give your palettes unique and meaningful names.

When you create a custom palette, Painter automatically names it "Custom 1", "Custom 2", "Custom 3" and so on...  Because palette visibility in Cinco is name-based, be sure to choose names that are unique and meaningful. In Painter, you can rename your custom palettes from Window menu > Custom Palette > Organizer.   

Tip #5 - Keep custom palette clutter under control.

Once you start to create custom palettes, you’ll discover that it’s pretty easy to create them by mistake... oh, I do it all the time... and I know better! If you close a palette in Painter (by clicking on the red circle in the top left hand corner for instance), you're only "hiding" the palette. If it is your intention to delete the palette, then you must return to the palette organizer in Painter to make this change. You can delete a palette in Painter from Window menu > Custom Palette > Organizer, then select the unwanted palettes and delete them.

I hope that those of you who take opportunity to use Cinco with Painter will approach it with the same curiosity that I did on that first day... one year ago.  I hope these tips are helpful.  Looking forward to your feedback... :-)

In peace,

Caroline

Hello Painter People :-D

I’ve been watching you…  and I can’t help but notice that you’re having trouble finding your palettes in Painter whenever you switch resolutions.  Remember that demo you did?  Where you wanted to show your client / boss / friends your work in Painter?  You plugged your laptop into a projector only to discover that all of your palettes had vanished or moved to weird places?  Then everyone in the room chimed in with an idea…  “Launch with Shift!”, “Reset Your Workspace!”, “Reboot your system!”  

It’s my goal to help you avoid the kind of situation where you feel like you need to reset Painter in order to regain control your palettes.  Now I should start by saying, this post applies to single monitor configurations only…  dual monitor configurations I’ll save for separate post.  

Let’s start with some insider info…

When Painter detects a change in resolution, it will try to reposition your palettes for you at the new resolution.  It does this by trying to maintain the same proportional positions on screen while trying to keep room for your canvas.  The problem with this is when you make a significant jump… doing this can create a lot more clutter than you would like...  

For example, here is what my instance of Painter looks like at two different resolutions…

Larger Resolution: 1600x1200

Smaller Resolution: 1024x768

As you can see, Painter positioned all of the palettes “on screen” and this caused a good deal of collisions in my palette layout.  

Let’s pause here for a moment… because that’s assuming that Painter detected the resolution change in the first place.  For the most part, Painter is informed of resolution changes and is able to respond.  There are rare occasions when it doesn’t actually “get the message” from the OS that the resolution has changed… which might hide your palettes off-screen.  If this happens, I would suggest that you re-launch your application… or if you want to be kind to Painter, make sure that you have made the resolution change before launching Painter in the first place.  It’s also worth noting that “connecting to a different monitor” (for instance a projector) constitutes a change in resolution.

Now, back to our problem with the palette collisions from above… 

While Painter faithfully tried to make sure that the palettes would all appear on screen… the collapsed layout at the smaller resolution is not usable… and let’s face it, looks crummy.  If I start to move my palettes around, in an effort to adjust the position at the smaller resolution, I risk ending up with the reverse problem when I return to my larger resolution.  So here I hid some palettes, merged and moved others…  then when I moved from the smaller resolution to the bigger resolution.

Smaller Resolution: 1024x768

Larger Resolution: 1600x1200

So, rather than constantly readjust my palette layout in Painter…  I want to be able to specify which palettes will be displayed and where at different resolutions.

Now, I know what you are thinking… how can I anticipate the different resolutions that I will encounter?  The short answer is that you really don’t have to… it’s reasonably sufficient for you to sort out a palette layout for “small”, “medium” and “large” resolutions.

Creating a palette layout couldn’t be more straightforward.  Once you have Painter launched on a system with the desired resolution, position the palettes that you would like visible for that resolution.  Once you have a configuration that you like, go to Window -> Arrange Palettes -> Save Layout… and name the layout to whatever you like.  You can even force these different resolutions on the same system to create palette layouts in anticipation of different displays.  Personally, I have palette layouts for the following scenarios…

“small” (1024 x768) – good for projectors

“medium” (1440x900) – good for my laptop

“large” (1600x1200) – good my 22 inch monitor

So the next time you find yourself in the situation where you are looking for your palettes because of a change in screen resolution, I hope that you’ll impress your colleagues by smoothly switching to your preferred palette layout rather than blowing away all your preferences or rebooting your system.

Until next time… happy painting :-D

In peace,

Caroline

 

Hello all,

For my first post, I wanted to to explore the changes in clone source workflow in Painter 12.

I had the priviledge of working on cloning features for Painter 12.  Throughout this process, I learned great deal about clone source and cloning features in Painter.  I also became inspired by skilled Painter artists who use these features.  Many of these great painters make their knowledge and resources available online.  I would invite you to seek them out if you are looking to learn more about all that you can do with these features in Painter.

In peace,

Caroline

________________________________

 

First, let's take a look at Painter 11's clone source workflow...

For many users, this involved opening two documents. For the purpose of this post, a document refers to any image opened in Painter. The first document served as the canvas whereas the second document served as the clone source.  You would set the clone source by activating the first document (canvas), clicking File menu > Clone Source, and then selecting the second document (clone source).

Painter 11 Clone Source UI

This allowed you to clone the second document into the first. As you painted on the canvas, crosshairs would appear on the second document (clone source) to show you precisely which area of the document you were sourcing.

 

Now, let's take a look at  Painter 12's clone source workflow...

In Painter 12, we opted to take a first step to enhance the RIF document format to support embedded clone sources. In the Painter 11's clone source workflow (described above), you needed to open both the canvas and source documents as separate documents. Whereas in Painter 12, we introduced the concept of *embedding clone sources as part of the document*.  As a result, the familiar File menu > Clone Source option was replaced with the Clone Source panel (Window menu > Clone Source).

Painter 12 Clone Source Panel

The Clone Source panel is intended to give users full disclosure on what cloning behaviour is currently taking place.

Let's take a closer look at the panel...

Source UI

Current Pattern: Default for every document in Painter. If you do nothing but pick a clone brush and start painting, the clone source will be the currently selected pattern in the application.

Offset Sampling: Enabled by setting "source" on a document (more on this later). This option cannot be enabled explicitly through the clone source panel.

Image: Enabled whenever you add a clone source image to the current document. After which you can opt to clone from the currently selected clone source image or opt to clone source from "Current Pattern" via the clone source panel.

 Tracing Paper UI

Tracing Paper: Toggle tracing paper on an off and use the slide to set the transparency level on the document to expose the clone source underneath.

Image List UI

Clone Source List: Shows a list of the clone sources that are currently available in the document.

Open Source Image: Allows you to open a clone source image from a file or add the currently open image as a clone source.

Delete Source: Removes the clone source image from the document.

 

So, how do I replicate Painter 11 workflow in Painter 12?

As of the lastest release, you have two alternatives:

1. You can opt to add your second document as a clone source via the Clone Source panel by clicking the Open Source Image button. Alternatively, this is done automatically for you if you choose Quick Clone (File menu > Quick Clone) or Clone (File menu > Clone). Doing this creates a snapshot of your second document that you can clone from directly. If you lower the tracing paper transparency, you can see the clone through your canvas.

2. You can clone by using Offset Sampling. To perform Offset Sampling, you need to hold down Option (Mac) or Alt (Windows), and then click on the second document to set the offset sampling source. The next step is to set the destination by holding down Shift + Option (Mac) or Shift + Alt (Windows), and then clicking on the canvas to set the destination. At this point, you can clone from the second document to your canvas. You will see crosshairs on the second document to show you which area you're cloning from. It's important to note that the source can become "unset" if you make changes to your brush variant while performing offset sampling. If this happens, you need to reset the source before you can continue. This is where the Clone Source panel comes in handy because it shows you when Offset Sampling is enabled or disabled.

My name is Caroline and I have been a developer at Corel since March 2006.  The first version of Painter I had the opportunity to work on was Painter 10.

I'll be taking over "Dan's Painter Insights" as Dan has moved on from Corel to seek new opportunities.  I've got some big shoes to fill, but I'll do my best to offer you the same level of insight and technical details to help you get the most out of Painter.

Looking forward to sharing more with you soon...  in the meantime, please feel free to send along topics that you would like to hear more about.  I'm happy to discuss anything that doesn't directly touch brushes...  for more details on brush technology, check out Chris' Brush Blog.

 

 

In this post, I’ll show you how to customize Painter’s menu structure. To begin, you need to locate the folder that holds the resources specific to your particular language. Chances are, if you're reading this post, you'll be interested in the English language resources. To find the English resources, you'll need to look in a folder parallel to the Framework folder. (Please refer back to Part 1 for help on finding the Framework folder.) If you've found the Framework folder, navigate one level higher in the tree. At this level, you should find be able to select the EN folder on Windows or English.lproj on the Mac. (If you’re running a localized version of Painter, you’ll want the folder that corresponds to your language. Example, JP = Japanese).

 

Changing the text in a menu item:

Now, let’s say you’re familiar with another program that has a feature called New from Clipboard that creates a new document based on the current contents of the clipboard. In Painter, this feature is called Paste in New Image.   Maybe you’re frequently overlooking this feature in Painter because the name is different than you’re expecting. In this case, it might be worth renaming the menu item. 

 

WARNING: Changes of this nature are not supported by Corel. You can render Painter unusable if you make a mistake. Make sure that you have backups of any files that you modify. MODIFICATIONS OF PAINTER XML FILES IS DONE AT YOUR OWN RISK.


Here’s how you’d do that:  

  1. Open EN/MenuStrings.xml in a text editor. (Notepad on Windows or TextEdit on Mac should be fine). 
  2. Search for the text you’d like to replace. (“Paste In New Image”)
  3. You should find a line that looks like <string key="Paste_In_New_Image" value="Paste In New Image"/>
  4. Replace the text in between the quotes after value. Ex.:<string key=”Paste_In_New_Image” value=”New from Clipboard”/>
  5. Save the file. (Note: If you don’t have write permissions for this file, you may have to save it first on your desktop and then manually copy the updated file back to its original location.)
  6. Re-launch Painter

That’s it!

 

Moving a menu Item:

Extending the previous example, let’s say that you’d like to put that menu item in a different menu dropdown. Logically, you might want to put New from Clipboard in the File menu below the normal New... command.

To do this: 

  1. Open EN/CommandBars.xml in a text editor.
  2. Search in CommandBars.xml for the menu item you’d like to move. Now, this can be difficult as this is a big file and is difficult to navigate. Matters are complicated by the fact that Painter uses special keys to identify menu items, not normal English text. Remember the key field from MenuStrings.xml? That’s the same key you’ll need in this file. For “Paste In New Image”, the key is Paste_In_New_Image.
  3. You should find the line: <item guidRef="MenuEdit|Paste_In_New_Image"/>
  4. Cut that line from the Edit menu
  5. Find the File menu block. To find the File menu, look in MenuStrings.xml for a menu command that's already in the File menu. (New... for example.) Make note of the key associated with that menu item and search for that key in CommandBars.xml. Paste the line from step 3 somewhere in to the File menu block. Finding menu items in CommandBars.xml will get easier the more you work with the file. You'll start to recognize the patterns and should begin to be able to read the keys with some practice.
  6. You should now have something that looks like this:
    <commandBarData guid="C3EB32DD-9761-41CB-941F-917BC1F553D8" type="menu" nonLocalizableName="File" flyout="true">
    	<container>
    		<item guidRef="MenuFile|New"/>
    		<item guidRef="MenuEdit|Paste_In_New_Image"/>
    	...
    
  7. Save and re-launch Painter:

Creating your own menu

If this level of customization is not enough for you, you can push Painter even further by creating your own top-level menu dropdown.

You can copy as many menu items in here as you’d like. You can have duplicates of menu items. You can keep a copy of a menu item in its original location. It’s up to you to decide how you’d like to structure things. In this example, I will create a "My Stuff" menu holding a few of my favorite menu options.

Here’s how to create your own menu: 

  1. From the Framework folder, open the file called ItemData.xml. This file lists all the menu bars and menu items available to Painter.
  2. At the bottom of this file, we're going to define our own custom menu bar. To do this, add a new itemData entry. For your new entry, you need to create your own guid entry. Start with "MenuOther|" then append your any name you'd like, just keep it sorter than 20 characters.
    For example:
    <itemData guid="MenuOther|Stuff"/>
  3. Next, add a flyoutBarRef property to the itemData entry from step 2. You can name this anything you'd like.
    For example:
    <itemData guid="MenuOther|Stuff" flyoutBarRef="MainMenuStuffMenu"/>
  4. From the EN folder, open the file called CommandBars.xml. This file defines the arrangement and content of alll the menus in Painter.
  5. Near the top of the file, you should see a section titled "MainPainterMenuBar". Add a reference to your new menu bar. Like this:
    <commandbardata guid="MainPainterMenuBar" type="menu" nonlocalizablename="Menu Bar" novertdocking="true">
    	<container>
    		<item guidRef="MenuFile|Painter_Menu" os="mac"/>
    		<item guidRef="MenuFile|File"/>
    		<item guidRef="MenuEdit|Edit"/>
    		<item guidRef="MenuOther|Stuff"/>
    		<item guidRef="MenuCanvas|Canvas"/>
    
  6. From the EN folder, open the file called MenuStrings.xml. In here, we'll add the text to display for our new menu.
  7. Search MenuStrings.xml for "MenuOther". At the bottom of the category, just before the </category> tag, add a new entry for the menu bar:
    <string key="Stuff" value="My Stuff"/>
  8. Save all your modified files & relaunch Painter
At this point, you've defined a container to hold other menu items. It won't get interesting until we add our own menu items.

 

To add menu items to your new menu flyout:
  1. From the EN folder, open the file called CommandBars.xml.
  2. You need to define the menu that will drop down. This is done by adding a commandBarData entry to the end of CommandBars.xml (right before the </commandBars> tag). Like this:
    <commandBarData guid="MainMenuStuffMenu" type="menu" nonLocalizableName="Stuff Menu" flyout="true">
    </commandBarData>
  3. Next copy and paste any itemData entries that you want in to your new menu.
    Like this:
    <commandBarData guid="MainMenuStuffMenu" type="menu" nonLocalizableName="Stuff Menu" flyout="true">
    	<item guidRef="MenuFile|New"/>
    	<item guidRef="MenuGrid|Show_Grid"/>
    	<item guidRef="MenuLayers|Duplicate_Layer"/>
    </commandBarData>
    This adds the command New..., Show Grid, and Duplicate Layer to our new menu.

 That's it! Now you can make any kind of menus you'd like. Let me know if you have any trouble.

One of the great things about Painter 12 is its new user interface. Not only does it look modern and offer more functionality, it's ultra-customizable ... if you know how. Luckily, today I'm going to start a series teaching you all the tricks to editing Painter's configuration files so you can build your own customized version of Painter.

Over the next few posts, I'll be showing you how to: 

  • Customize Icons
  • Customize Menus
  • Customize the property bar, toolbox and panels

In previous versions, the Painter user interface (UI) was built using an in-house, closed UI toolkit. It served us well for many years, but it was starting to look it age and was getting difficult to maintain on modern operating systems. So, for version 12, we've started transitioning our UI to a new, more flexible toolkit. The foundation of our new UI is built on a file format called Extensible Markup Language (XML). We've been using XML files for many years as the back-end for our brush libraries, so it seemed like a natural choice to extend to our UI. 

There are two main advantages to our choosing XML:
  1. It is a well known format encoded in human-readable plain text.
  2. The XML files are parsed and translated when Painter starts up. This means you can make changes to the UI even after the final build of the application has shipped.
So, given that so much of Painter is now defined in XML files, the possibilities for customization are huge!

WARNING: Changes of this nature are not supported by Corel. You can render Painter unusable if you make a mistake. Make sure that you have backups of any files that you modify. MODIFICATIONS OF PAINTER XML FILES IS DONE AT YOUR OWN RISK.

Now, on to the first lesson:

Customizing Icons


Let's say you've been using Painter 12 for a while, but you just can't get used to the way the new icons look.
Well, you're not stuck with them anymore! It's really easy to change them. To begin, you will need to find Painter's "Framework" folder. The Framework folder is where Painter reads all its configuration files from.

To find the Framework folder on Windows:
  • Open Windows Explorer and enter the following in to the navigation bar: %programfiles%\Corel\Painter12\Resources\12.0\Framework
To find the Framework folder on Mac:
  • Using the Finder, navigate to Applications > Corel Painter 12 and locate the Corel Painter 12.app application bundle.
  • Right-Click on Corel Painter 12.app and select Show Package Contents. This will open a new Finder window.
  • From this window, navigate to Contents > Resources > Framework
Now, to change those icons, all you need to do is:
  1. Navigate to the Framework/Images folder. In here, you'll find all the icons that we use in the application. 
  2. Find an icon you want to change. For example, let's say you want to change the default toolbox brush icon. In this case, open the "Toolbox Palette" folder and select "Brush.png":
  3. Modify the icon however you see fit. In my case, I decided to replace this brush icon with the Painter 11 version:
  4. You don't normally have write access to your installation folder (especially on Windows 7). So, you'll have to save your file somewhere you have write permissions (your desktop is a good choice) as a PNG file.
  5. Since you're not normally allowed to make changes to files directly in your install folder, you have to copy the file you saved in step #4 and paste it in the install folder, over top of the original. You should be prompted to provide the appropriate credentials.
  6. You can either relaunch Painter, or go to Window > Arrange Palettes > Default to see your updated icons.
That's it! You should be able to customize any of the icons in Painter this way. Just browse through the Images folder to find icons you want to change. You have access to the icons used by the toolbox, palettes and property bars.


As a bonus for this post, I've attached a custom icon set that looks like the Painter 11 icons here. Just unzip these files in to your "Toolbox Palette" folder.

 

We designed Painter 12 with multi-core computers in mind.  A modern multi-core computer should see significant improvements in performance over Painter 11.  In Painter 12, the work for the brushes can be split up and run in parallel on each of your CPU's cores. 

Splitting the code to run on multiple cores (Multithreading) is designed to target the scenario where a single CPU core does not have enough power to run the brush smoothly on its own. It is not free to split the work up on to multiple threads but by dividing the task in to smaller chunks the end result should give you faster performance. It is usually worth the extra cost to split things between multiple cores because what you were trying to do was basically too expensive to get done in real-time with single-threaded software.

Let's say that, for the sake of argument, a given brush requires 800 'units of CPU power' in order for it to render in real-time.  It costs 100 units to create a thread. So, if we want to split the work in to two, we would have to process 1000 units to render the brush. If your particular CPU has 2 cores each providing 500 units, then by threading the brush code to run on both cores, we're able to achieve real-time rendering. The result is that this brush is now faster than it was in Painter 11.

However, after the release of Painter 12, we began to hear feedback from some of our users that Painter 12 was not as fast as expected. After some investigation, we found two common reasons why things might get slower: 

  1. The amount of work needed to render a brush is so small that the added cost of multi-threading is not worth it. 
  2. Multiple threads can interfere with each other when sharing hardware resources. This is a problem when you have very few cores available or are running many processor-intensive applications at once. 

To address issue #1, the release build of Painter 12 included the Multicore checkbox in the General brush controls panel.

 

A challenge we've got is that there are so many combinations of brush settings available that it was impossible for us to consider all the different cases where it made sense to disable the multicore checkbox. We benchmarked every brush variant in the application and we believe that we've correctly identified the variants that should and should not have the multicore checkbox enabled. However, your individual hardware configuration and preferences come in to play so it's important to make your own determination on whether you prefer having the multicore feature enabled for each of your favorite variants.

A simple guide is that the bigger the radius, the more likely multicore will have a positive impact. If you use small brushes, or find that a few variants don't perform as well as expected, turning off this checkbox will prevent Painter from trying to split up the brush operations on multiple threads. You will save the cost of the threading overhead and your brush performance may improve. (Chris has some thoughts about the multicore checkbox in his blog here.)

Issue #2 is more interesting.  Extending the example from above, let's say that on your particular computer you're simultaneously running another CPU-intensive application. Perhaps you're recording your work in Painter using a screen capture utility or maybe you're playing back a script in Photoshop. Now Painter is in competition with that other software. Painter mistakenly believes that it has exclusive access to all the CPU resources available on your computer. But, if that other application subtracts 200 units of your available CPU power, Painter still requires 1000 units to complete and your CPU no longer has enough units available.  The more cores you have, the messier this can get as each additional core adds another possible point of contention with another program.

We have no way of knowing what kind of programs you're running on your computer and so balancing Painter's CPU usage with other programs is a big challenge. So, to address this problem, we have added a new feature to Service Pack 1: The Multicore Usage Slider.

The Multicore Usage Slider allows you to manually configure the maximum number of cores you want to allow Painter to use.

To change the multicore usage slider value on your copy of Painter go to Edit > Preferences > Performance... (on Windows) or Corel Painter 12 > Preferences > Performance... (on Mac). 

You must restart Painter to see the effect of your change.

By default, we now use 1 core less than the maximum on your system. Out of the box, this will ensure a good level of threading and leave one core free for operating system functions and other applications. If you're a heavy multi-tasker, you may want to try lowering your Usage slider slightly. If you have an 8-core machine, you may choose to play with setting the slider to any number from 1 through 8. On my machine, I have been finding that a value of 7 gives pretty good results.

Running Painter this way will reduce the amount of CPU cores that Painter tries to use. This should result in a smoother sharing of resources between Painter and other applications on your system. 

 

Hopefully, you'll find that Painter 12 performs better with this change.

 

 

Let's say you've just upgraded to Painter 12 and now you're wondering what to do with all the great content you created in your old copy of Painter.

Here are a few ways to bring your customizations forward from an older version:

Custom Palettes

First thing you need to do is to get your custom palettes out of Painter 11. You have two options for this: 

  • Go to %APPDATA%\Corel\Painter 11\Default (Windows) or  "UserAccount>Library>Application Support>Corel>Painter 11>Default" (Mac) and grab the CustomPalettes.pal file. Copy it somewhere easy to find, like your desktop.

- or -

  • Launch Painter 11.
    1. Go to Window > Custom Palette > Organizer...
    2. From the list, select the custom palette you want to export. (You can CTRL+CLICK to multi-select.)
    3. Select Export... and save the .PAL file somewhere easy to find, like your desktop.

Now, in Painter 12 do the following: 

  1. Go to Window Custom Palette > Organizer...
  2. Select Import...
  3. Browse to and select the .PAL file you saved earlier.

 In theory, you can use this technique on custom palettes created in any version of Painter back to version 8.1. However, not every command, brush or library item will import correctly as many of these have changed from version to version.

Another very important issue to note is that if you import a custom palette from Painter 11 that references some content that you don't have in Painter 12 (ex. a custom paper texture) it will not import the paper. You'll only have a button on a custom palette that doesn't do anything.

Content

To get custom content in to Painter 12, follow these steps:

In Painter 11: 

  1. Open the media selector that contains the content you want to export. (ex. The Paper Selector )
  2. From the flyout menu, select the Mover option (ex. Paper Mover...)

  3. Select New... and save the file to your desktop.
  4. Now, click and drag all the items from the left side to the right side list box.
  5. Click Close
  6. Click Done
In Painter 12:
  1. Open the Media Library panel for the content type that you want to import (ex. Window > Paper PanelsPaper Libraries)
  2. From the Panel flyout, select Import Legacy Paper Library...
  3. Browse to and select the library you exported from Painter 11
The Painter 11 media items should be added as a new library to your library panel.
Now, if you want your legacy custom palettes to work in Painter 12 you need to take one final step: You need to manually drag your imported library items in to the default library. For example, if you have a paper in "Dan's Paper" library, you need to drag it to "Paper Textures". This will re-establish the link between the custom palette and the paper.
Of course, at this point, it might just be easier to create a new custom palette! (SHIFT+DRAG to do this)

Workspaces

You might find that these "hunt-and-peck" methods of importing content piece-by-piece can be tiresome. If you want to bring everything over in one shot, you'll want to move your entire workspace.

To do this:

  1. Launch Painter 11
  2. Select Window > Workspace > Export Workspace ...
  3. Save the workspace to your desktop
  4. Switch to Painter 12
  5. Select Window Workspace > Import Workspace ...
The import process might take a while since the format for all the resource types have changed from Painter 11 to Painter 12 and we need to go through a full conversion/upgrade process for every type.
Once Painter 12 is done importing your workspace, you should find that all your custom content types, brushes and custom palettes from Painter 11 should now be available. 

 

Let's say you're working on a canvas with a lot of layers. In the default view, you're probably going to get scroll bars in the layers panel.

If you go ahead and resize the palette to make everything fit, you'll find that the Navigator at the top is resizing too.

This is probably not what you want. To work around this, double-click on the Navigator and Color tabs. This will "roll up" the top two tabs:

Now, you can resize the palette and only the Layers panel will be affected.

Finally, you can double-click on the Navigator and Color to put everything back.

Much better!

I wanted to make an appeal to our users to help improve the quality of Painter going forward. 

The idea for this post came to me when one of the applications that I use everyday crashed on me. The first thing that happened was that Windows Error Reporting began to generate a crash report. So, as I'm sure most people would, I hit Cancel and went back to what I was doing. It was then that I realized that this is probably what happens when Painter crashes. You hit Cancel and try to get back to where you were. Sure, if things get bad enough or if the crashes persist, you might drop in to a newsgroup to complain about the problem, but in most instances, there are probably more important things on your mind, like your task at hand.

 

My request to you is, if Painter crashes, please take a minute and let Windows finish generating the crash report.  

We hate crashes and we take them very seriously. We make every effort to ensure that Painter is as solid as possible and ships with no known crashes. The problem is, it's impossible for us to anticipate all the differences in computers, workspaces and workflows. So, inevitably, some crashes remain. We're far more effective working from crash reports than anecdotal post on forums.

When we receive a crash report we get an anonymous email that includes detailed information about the state Painter was in when it crashed. We don't get any information about the user nor anything about the documents you were working on. These crash reports are extremely helpful in finding the cause of problems in our code. Plus, the more duplicate reports we get, the higher the priority we assign to the defect. In fact, if we get enough duplicates, we'll usually try to fast-track a fix and get it out to our users as fast as possible.

Now, on the Mac, you need to do a little more work. If you run in to a crash on the Mac, you first need to click on the Report... button:

And then click the Send to Apple button.

 

So, please remember to hit 'Send' on those crash reports. It really goes a long way towards improving the quality of Painter.

EDIT: I forgot an important part of this process. On the next launch after a crash on the Mac, you'll see this dialog:

Please hit send here too!

Let’s say you’re always working on similar canvases, it’s probably worth looking in to leveraging some of the customization options in Painter.

Here are two options I’d like to point out:

Tip #1: Create your own Canvas Preset

Painter will remember your most recently used settings automatically. But, if you’re frequently switching between different image sizes, you should save custom presets for your most commonly used choices.

Here’s how:

  1. From the File menu, select New...
  2. Enter your preferred values for Width, Height, Resolution, Color and Paper texture.
  3. Click on the (+) button next to the Canvas Preset: dropdown.
  4. Enter a name for your preset. (Ex. 8 x 10 @ 150 dpi)

From now on, your preset will show up in the Canvas Preset dropdown. You can quickly switch between your favourite canvas sizes

Tip #2: Create your own Template

Presets are great, but I’m a bigger fan of using Templates. Templates are something we’ve had in Painter for several versions, but they don’t seem to get a lot of attention. I think templates offer a significant upgrade over presets because they can contain actual content. For example, you can create templates containing your watermark or your preferred cell arrangement for a comic strip. Templates provide a really convenient way to set up your base canvas.

Here’s how you can create your own template: 

  1. Create a new canvas (from File > New), or open any existing document on your computer.
  2. Select Save As... from the File menu
  3. Set the file type to Painter RIFF
  4. Save the file to one of two locations on your hard drive:
    1. Your current workspace
      • On Windows, this can be found by typing “%appdata%\Corel\Painter 12\Default\Templates” in to Window Explorer.
      • On MacOS, this can be found by navigating in the Finder to "UserAccount>Library>Application Support>Corel>Painter 12>Default>Templates".
    2. Your installation folder
      • On Windows, this can be found by typing “%programfiles%\Corel\Painter12\Support Files\Templates” in to Window Explorer.
      • On MacOS, this can be found by navigating in the Finder to "Applications>Corel Painter 12>Support Files>Templates"

If you save the file to your workspace, the template will only be included in the selected workspace and will only be available in your current user account. If you save the file to the installation folder, all users of your computer and every workspace will have access to the templates. However, you need to have administrator privileges to save your templates files there.

Now, the next time you start Painter, you’ll find your templates added to two locations: the Welcome Book and under the Open Template flyout in the File menu.

 

If you open a template, you’ll find that it creates an exact duplicate of your original document with all the content maintained, but the canvas will be named “Untitled” and will not overwrite your original template. 

I’ve attached a couple of templates to this post for you to try out. Hopefully you’ll find this feature useful.

Give it a try and let me know what you think.

Attachments: Templates.zip

A common question we’re asked is to explain how to make the most of your system memory when using Painter. Well, to answer that question properly, you need a little background:

When you create a canvas in Painter, all the information about how you created it has be stored somewhere (ex. the color of each pixel, the layers, the undo operations). There are two choices on where we can store that data: on your hard disk drive (HDD) or in random access memory (RAM). It is many, many times faster to read and write information in to RAM than it is to your HDD. So, we place a priority on using as much RAM as possible in as effective a manner as possible. In order to accomplish this, Painter uses an entity called a “tile”. Each tile holds about 60,000 pixels and you will use many hundreds of tiles for a typical document. As an example, a canvas of 1600x900 requires 1,440,000 pixels, or about 25 tiles... without factoring in any costs associated with storing undo information or layers.

If you’re curious about how Painter is using tiles, you can try this little-known trick: Press SHIFT+i to display the following dialog:

The important numbers to note are the number of tiles allocated (red) and the number of free tiles (yellow).  

Painter allows you to configure how much RAM it uses to store tiles. This is where the Performance Preferences Memory Usage slider comes in to the equation. The value that you set here determines the total amount of memory available to create tiles in RAM before Painter needs to use your HDD. 

By default, Painter is configured to use up to 80% of your total system memory. I’d like to emphasize that point: the memory slider allows Painter to use a percentage of the entire amount of memory installed in your computer. If you have 4 GB of RAM, a setting of 80% allows Painter to use up to 3.2 GB. Allowing Painter to have access to this much memory can offer a great boost in performance but it does come at a cost; using that much memory in Painter means that memory is not available to other applications. So, if you’re a heavy multi-tasker and like using other applications in conjunction with Painter you’ll probably want to dial down your memory slider a little bit. I think it’s usually a good idea to leave at least 1 GB of memory available to your other applications.

There are a couple of other points that I think are worth noting: 

  1. Once Painter has allocated RAM for tiles, it reserves that RAM for future use. Even if you close the document that required those tiles, Painter doesn’t immediately return the memory to the system. This offers significant performance improvements since we don’t have to incur the cost of re-allocating more tiles the next time you modify a document.
  2. In addition to the memory used by tiles, Painter uses a little more memory to load things like the user interface and some of your content (like paper textures, for example). So, sometimes you’ll notice that Painter uses a higher actual percent of your computer’s memory than the value you’ve specified for the slider. 

If you’re curious about how these tile allocations work, try out this example: 

  1. Launch Painter & press SHIFT+i. You should see numbers similar to these: Painter is using 160 MB of RAM; 79 total tiles; 12 free.
  2. Create a 1600x900 document, Edit>Fill...> Fill With: Current Color and press SHIFT+i. You should see numbers similar to these: 188 MB of RAM, 121 total tiles; 0 free. In this case Painter used all of the previously allocated tiles and allocated 30 more.
  3. Close the document and press SHIFT+i. You should see numbers similar to these: 188 MB of RAM, 121 total tiles; 56 free. In this case, Painter has returned 56 tiles to the ‘pool’.
  4. Create a second 1600x900 document and press SHIFT+i. You should see numbers similar to these: 188 MB of RAM, 121 total tiles; 52 free. In this case, Painter has re-used 4 of the tiles and not allocated any additional RAM as it already has enough.  

I think I’ll end this discussion on memory here, but I hope you’ve learned a little about how Painter uses your system memory. I’d be curious to know if you have any questions related to this.

 

 

 

 

 

 

 

Alright, let's get this blog rolling with a quick post... 

Custom palettes are one of my favourite features in Painter and we've really beefed them up in version 12. One of the coolest changes made was to the Add Command dialog. Add Command has been in Painter for many years, but now it offers a little more functionality. In Painter 12, if you fire up the Add Command dialog, you’ll find three new options: Other, Panel Menus, and Tools at the top of the application, in the main menu bar. If you drill down in to these menus, you’ll expose all kinds of great things that you can add to your custom palettes. I’m particularly fond of the Other menu as this contains many “hidden” commands.

Here’s an easy way to create a custom toolbox:
  1. Go to the Window menu, open the Custom Palette submenu and select Add Command...
  2. The Add Command dialog should now be displayed
  3. The main menu bar should now contain three new options: Other, Panel Menus, and Tools 
  4. From the Tools menu, select Brush 
  5. Click OK to add the Brush command to a new custom palette 
Bonus Tip: Right-click on the command item from your custom palette and select View as Icon
  1. Repeat steps 1 through 5, but select a different tool each time. This time, make sure the Add To: option is set to your pre-existing custom palette (ex. “Custom 1"). 
When you’re done, you should have something like this:




Why not take a few minutes and browse through the menu options exposed by the Add Command dialog? There’s a lot to experiment with in there.


Have fun & please let me know if you have any feedback on this post.

 

Hello Everyone,

My name is Daniel and I've been a software developer on Corel Painter since version 7. Over the years, I've worked on many aspects of Painter and I think it's time for me to start sharing some of the insight that I have in to Painter's internals. 

I'm hoping to start posting this week. So, welcome to my blog; I hope you enjoy it!