Tristan Biesecker Posted October 18, 2014 Share Posted October 18, 2014 I have always noticed that dragging objects with applied effects (such as something simple like a stroke) lead to poor performance in Affinity Designer, particularly low frame rates and refresh rates. Since upgrading to Yosemite, however, these issues seem to have compounded. Attached is a video of the performance issues of simply dragging an object with a stroke. Note that the recording accurately represents what I'm seeing on screen; the recording isn't just at a low frame rate. Is anyone else noticing these performance issues? Basic computer specs: Mac Pro mid 2010 3.33 GHz 6-Core Intel Xeon 16GB RAM ATI Radeon HD 5870 1024 MB poor-performance.mov Quote Link to comment Share on other sites More sharing options...
Staff MEB Posted October 18, 2014 Staff Share Posted October 18, 2014 This happens in Mavericks too as you pointed out. There's a noticeable performance hit when i move a shape with a Stroke FX applied versus without stroke. Quote A Guide to Learning Affinity Software | Affinity Quick Reference Link to comment Share on other sites More sharing options...
Staff TonyB Posted October 19, 2014 Staff Share Posted October 19, 2014 I have always noticed that dragging objects with applied effects (such as something simple like a stroke) lead to poor performance in Affinity Designer, particularly low frame rates and refresh rates. Since upgrading to Yosemite, however, these issues seem to have compounded. Attached is a video of the performance issues of simply dragging an object with a stroke. Note that the recording accurately represents what I'm seeing on screen; the recording isn't just at a low frame rate. Is anyone else noticing these performance issues? Basic computer specs: Mac Pro mid 2010 3.33 GHz 6-Core Intel Xeon 16GB RAM ATI Radeon HD 5870 1024 MB Is there a reason you are using the Stroke LayerFx instead of a normal line. In the beta we have renamed Line -> Stroke and now offer alignment for your stroke in the Stoke panel. The original Stoke LayerFx is creating a raster based effect that can take some time to render, this effect is mainly used for alpha edged images and not vecotors. The new stroke (or old line) should render immediately. To avoid confusion we have also rename the old LayerFx Stroke -> Outline. For reference, we always render LayerFx at draw time so they don't use any memory. We have some designs with thousands of objects with LayerFx and this would be impossible if we cached the result as other Apps sometime do. Quote Link to comment Share on other sites More sharing options...
Tristan Biesecker Posted October 23, 2014 Author Share Posted October 23, 2014 Is there a reason you are using the Stroke LayerFx instead of a normal line. In the beta we have renamed Line -> Stroke and now offer alignment for your stroke in the Stoke panel. The original Stoke LayerFx is creating a raster based effect that can take some time to render, this effect is mainly used for alpha edged images and not vecotors. The new stroke (or old line) should render immediately. To avoid confusion we have also rename the old LayerFx Stroke -> Outline. For reference, we always render LayerFx at draw time so they don't use any memory. We have some designs with thousands of objects with LayerFx and this would be impossible if we cached the result as other Apps sometime do. I wasn't actually using a stroke for my art. I just noticed that when any effects are applied the performance takes a real hit. I used a stroke as an example. Quote Link to comment Share on other sites More sharing options...
thiagodebastos Posted January 14, 2015 Share Posted January 14, 2015 I experience exactly what you describe, I simply made a cog shape, added bevel & emboss, some shadows, noise and inner glow and when I drag it I can feel my CPU churn it out at 100% CPU: i7 4930K 6 cores @ 4.5GHz GPU: MSI GTX 980 Ram: 16GB @ 2400MHz At least my system is working for it beyond 2% stress for once. Quote Link to comment Share on other sites More sharing options...
Staff MattP Posted January 14, 2015 Staff Share Posted January 14, 2015 Can I just mention that adding bevel emboss effect does per-pixel lighting, shadows are generated per-pixel, glow is per-pixel, noise is per-pixel, etc - so you're doing many things for each pixel which require non-trivial algorithms. Most of these algorithms also involve a convolution stage that requires sampling input from a large number of surrounding pixels for each destination pixel so when you multiply all of this up to being how large your image is on the screen and how large the effects are on the object then that is the reason your cpu is busy - it simply takes time to work out the answers. There are shortcuts but these result in inferior results so we don't use them. Other programs choose to cache the results so you can use the program smoothly after an initial lumpy delay - we don't do this because: 1: it takes memory, 2: it is cached at a particular size, so when you zoom in you would start to notice the pixellation. This is the only real alternative to it using your cpu to generate the effect at the required resolution per-frame. Quote Link to comment Share on other sites More sharing options...
thiagodebastos Posted January 14, 2015 Share Posted January 14, 2015 Can I just mention that adding bevel emboss effect does per-pixel lighting, shadows are generated per-pixel, glow is per-pixel, noise is per-pixel, etc - so you're doing many things for each pixel which require non-trivial algorithms. Most of these algorithms also involve a convolution stage that requires sampling input from a large number of surrounding pixels for each destination pixel so when you multiply all of this up to being how large your image is on the screen and how large the effects are on the object then that is the reason your cpu is busy - it simply takes time to work out the answers. There are shortcuts but these result in inferior results so we don't use them. Other programs choose to cache the results so you can use the program smoothly after an initial lumpy delay - we don't do this because: 1: it takes memory, 2: it is cached at a particular size, so when you zoom in you would start to notice the pixellation. This is the only real alternative to it using your cpu to generate the effect at the required resolution per-frame. Thank you that makes a lot of sense! I don't experience a performance loss at all, just a bit of choppiness moving the item around. I forgot to mention that my canvas was in Retina mode, so a crazy DPI ;) You guys have created a truly amazing app! Quote Link to comment Share on other sites More sharing options...
ronniemcbride Posted January 15, 2015 Share Posted January 15, 2015 Can add that I installed Yosemite to one of my computers, not my main computer.Now, I wish I could roll this thing back to maverick on that computer? I feel like I have taken a performance hit everthing I do on that Machine now! Am I the only one who feels that way? Quote LEARN AFFINITY DESIGNER TODAY. Follow me on twitter:@mixmediasalad or WATCH my FREE Youtube Channel Content Also check out my Affinity Designer Essential course on Lynda.com or Affinity Designer UX tools course and get a 30-day FREE!! trial to Lynda.com entire LIbrary by clicking this link Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.