Intel®Developer Zone offers tools and how-to information for cross-platform app development, platform and technology information, code samples, and peer expertise to help developers innovate and succeed. Join our communities for the Internet of Things, Android*, Intel® RealSense™ Technology and Windows* to download tools, access dev kits, share ideas with like-minded developers, and participate in hackathons, contests, roadshows, and local events.
This article highlights a few of the advances in Corel Painter* 2015. Corel asked Intel for help improving performance initially, but Corel and Intel were able to accomplish much more. Beyond performance increases, Corel Painter 2015 adds support for touch and 2 in 1 capability with transforming interfaces allowing the artist to sketch, touch, and go.
Figure 1: Traditionally Produced Paint on Canvas Used by Permission, Erin Duncan
Painter and its Users
Corel Painter can be traced back to origins in Fractal Design’s "Fractal Painter" in 1990. The natural paper and ink interaction that was the spirit of that original release has grown from that effort to today’s digital painting application used by both professional artists and art enthusiasts. According to PC World’s August 2014 review, "Painter is like an unlimited artist's toolbox—at the heart of the app are its numerous and sophisticated brushes, which convincingly emulate natural media." Artists that use it benefit from a powerful and expressive digital painting experience that enhances their art beyond the traditional medium. As a result, Corel Painter is used by industry-leading traditional artists, illustrators, video game designers, storyboard artists, matte board painters, concept designers, professional photographers, manga artists, comic artists, industrial designers, and many more.
Figure 2: Build your own pencil
The Importance of Pressure
The creative techniques used on traditional media (paper, canvas, etc.) have been essentially the same since petroglyphs began appearing on rock walls. Figure 1 is an example of traditionally produced art.
Computers have added new options for these talented people. The tool most have adopted to interface their talent with the computer is called a graphics tablet (Figure 3), sometimes called a digitizer.
Figure 3: Example graphics tablet / digitizer
The digitizer is the best device currently available to accurately capture the nuance of the brush stroke (pressure) visual artists practice in their craft. While it takes practice and some getting used to, creating art with a digitizer has almost reached a "paper and brush" feel for those experienced in both realms.
With the introduction of Microsoft Real-time Stylus (RTS) which standardizes the various digitizers from multiple vendors on Windows, the precise touch of the artist can now be translated directly to the touchscreen on a 2 in 1 computer (Figure 4).
Figure 4: Soft and harder pressure using digitizing stylus on 2 in 1 PC
Corel & Intel
Corel engineers worked with Intel engineers, Weijia Wang and Seung-Woo Kim, to improve Corel Painter performance on multicore PCs. As an artist and avid user of Corel Painter, Weijia was a natural fit. Her experience and enthusiasm for the product proved invaluable not only for the performance optimization, but for the user interface improvements made to support Intel® 2 in 1 computers. Seung-Woo provided the team with expertise both in performance and UI software development.
Improving Performance and Responsiveness
The team started their analysis with a performance profile that showed Corel Painter having an excessive number of system calls. These issues were resolved by improving the application’s multi-threading implementation. Intel delivered to Corel a proof of concept test app, adding Intel® Streaming SIMD Extensions (SIMD=single instruction, multiple data) that improved performance while using less power. Upon seeing this work from Intel, Corel committed to vectorizing 6 brush functions, used by over 200 of the application’s included brushes (Figure 2). This effort resulted in significant performance gain over the non-vectorized solution. These results and the trust built while collaborating on these performance improvements allowed the team to then explore UI improvements, like adding a transforming interface to better support 2 in 1 devices.
Tools and Troubles
Corel used Microsoft Typeperf, a command line tool built into Windows*, to collect performance profiles (Figure 5) which showed excessive system calls. But this analysis was not good enough to understand the cause of the issue.
Figure 5: Microsoft Typerperf.exe
They then built a new testing framework using Intel® VTune™ Amplifier XE (Figure 6) and Intel® Parallel Studio XE software tools.
Figure 6: Intel® VTune™ Amplifier XE screen
This new framework allowed them to measure brush correctness and performance improvements in various scenarios such as large documents with partial selections. This framework also allowed the teams to find an optimal default setting for performance-related tasks, leading to more efficient multi-threading. The analysis also showed that the software would benefit greatly by using Intel® Streaming SIMD extensions on top of multi-threading. The Intel Streaming SIMD extensions can theoretically boost performance up to 4x in these type operations. After a few months of work to vectorize the brush engines with Intel, Corel’s testing showed an overall 1.8X improvement from the non-SIMD enhanced solution. Some brushes have higher scaling than the others ranging from 1.1x to 4.0x depending on the branch-ness of the algorithms. Combined with multi-threading, Intel / Corel achieved more than 6x on dual core machines.
When first considering 2 in 1 support, the Corel team was concerned about creating a complete redesign of their UI for tablet mode. Thankfully, this redesign was not necessary. Because the performance work gave the Intel engineers access to some of the Painter source code, Weija and Seung-Woo recognized the UI architecture of Corel Painter was already capable of "adding" tablet support instead of what Corel thought would be "creating" a new tablet version of Painter. Their collaboration produced a single version that feels specially designed to run well on Windows PCs, tablets, and 2 in 1 computers (Figure 7).
Figure 7: Laptop/Workstation Mode & Tablet Mode
What the Intel team discovered was the UI is customizable and lets users create new "palettes," which are like container panels that can have any command, brush, button, or icon. For example, you can add some of your favorite brushes, or commands like undo/redo, or button toggle icons that allow you to show/hide layers or panels such as the brush configurations panel, etc. The UI is XML based, which allows for customization. Intel recommended a simple toggle between two of these custom palettes, starting with a default for each mode: laptop and tablet. This toggle is activated by manually selecting the mode in the application or by detecting transition from one mode to the other though the Windows GetSystemMetrics and WM_SETTINGCHANGE event on a 2 in 1 computer.
Weijia knew that artists like herself needed a peripheral digitizer to recognize a pressure sensitive stylus. Intel lobbied Corel to add support for Microsoft Real-Time Stylus API, which is available for all built-in styluses in Windows 8. Here is a sample of how Corel added RTS to Painter 2015:
As Corel began the UI enhancements, they brought in the user experience design team who put serious thought into the design and usages of Painter in both tablet and workstation/laptop mode. The UX design team began by reaching out to their local resource of artists and conducting many usage studies. Corel UX designer Stephen Bolt sums up the result, "The first time we were able to test a system with both a real-time stylus and a hardware 2 in 1 switch was very exciting—at that moment we could experience the full solution and see the code, hardware, and software all come together in a way that the user will value."
Figure 9: Weijia’s $3K setup includes laptop and a digitizer pad, on left compared to $1K Surface Pro 3
Getting the Most from the Touch Experience in Painter
The new version of Corel Painter supports the Real-Time Stylus (RTS) feature in Windows. RTS-compatible devices include 2 in 1 computers running Windows 8 or later. The 2 in 1 combined with RTS provides a portable, comparable graphics-tablet experience for the artist at a fraction of the cost. Artists with RTS-supported computers can use the following process to enable it in Corel Painter.
Painter 2015 default options are suitable for basic features on the most popular digital drawing devices. To use the advanced features like tilt to adjust and control brushstrokes, you must configure your RTS-compatible 2 in 1 device first.
To configure an RTS-compatible device (Windows) & Windows Multi-touch
- Choose Edit -> Preferences -> Tablet.
Figure 10: Tablet Preferences Dialog
- In the Tablet Options area set
- RTS-compatible devices (Real-Time Stylus)
- Enable Multi-touch
- Windows Multi-touch
Figure 11: Suggested 2 in 1 computer tablet selections
- Select OK.
- Relaunch Corel Painter.
Corel Painter 2015 has many more enhancements beyond those described here. In addition to the better performance, the new 2 in 1 features mean that Corel Painter is not just for the pro anymore. Corel Painter 2015 combined with Intel processor-based 2 in 1 computers and digitizers allow digital artists of all skill levels to sketch, touch, and go where their inspiration leads them.
References and Related Links