redryan2009

lag over time

Recommended Posts

so I just installed the latest version and there is this strange lag over time with layer heavy projects. I start the large project and over time, using the layers will slowly lag my computer to the point that paint.net has to go unresponsive for minutes at a time. it doesn't even use much possessing power or anything.

Share this post


Link to post
Share on other sites

@redryan2009 Tip:  When you are working with large images/layers, you should Save often, as the Memory gets taxed.

  • Like 1

Share this post


Link to post
Share on other sites

I wondered if it was worth trying the new .NET garbage collection shortcut? Ctrl+Alt+Shift+` (tick/tilde)

Share this post


Link to post
Share on other sites

 

these are my specs and it's on a 400 by 700 image but with a huge amount of layers, like 150 at this point. yeah I now it's a lot and my computer isn't that good but the thing is, this lag is new. pre-patch I could go up to 200+ before things would slow at all. something has changed or broken in this version for me. even smaller projects are showing signs as they grow.

 

Application    paint.net 4.1.1 (Final 4.101.6828.39058)
Build Date    Tuesday, September 11, 2018
Install type    Classic
    
Hardware accelerated rendering (GPU)    True
Animations    True
DPI    96.00 (1.00x scale)
Language    en-US
    
OS    Windows 10 Home x64 (10.0.17134.0) (0x65)
.NET Runtime    4.0.30319.42000
Physical Memory    4,095 MB
    
CPU    AMD Athlon(tm) II X4 640 Processor
    Speed    ~3000 MHz
    Cores / Threads    4 / 4
    Features    DEP, SSE, SSE2, SSE3
    
Video Card    AMD Radeon HD 6570
    Dedicated Video RAM    1,012 MB
    Dedicated System RAM    0 MB
    Shared System RAM    1,792 MB
    Vendor ID    0x1002
    Device ID    0x6759
    Subsystem ID    0x31981682
    Revision    0
    LUID    0x0000AE18
    Flags    SupportNonMonitoredFences, KeyedMutexConformance
    Graphics Preemption    DmaBufferBoundary
    Compute Preemption    DmaBufferBoundary
    Outputs    1
    Feature Level    Direct3D_11_0
    DXGI Formats    A8_UNorm, B8G8R8A8_UNorm, R16G16B16A16_UNorm, R16G16B16A16_Float, R32G32B32A32_Float
    Buffer Precision    UNorm8bpc, UNorm8bpcSrgb, UNorm16bpc, Float16bpc, Float32bpc
    
Video Card    Microsoft Basic Render Driver
    Dedicated Video RAM    0 MB
    Dedicated System RAM    0 MB
    Shared System RAM    2,047 MB
    Vendor ID    0x1414
    Device ID    0x008C
    Subsystem ID    0x00000000
    Revision    0
    LUID    0x0000B425
    Flags    Software, AcgCompatible, SupportMonitoredFences, SupportNonMonitoredFences, KeyedMutexConformance
    Graphics Preemption    InstructionBoundary
    Compute Preemption    InstructionBoundary
    Outputs    0
    Feature Level    Direct3D_12_1
    DXGI Formats    A8_UNorm, B8G8R8A8_UNorm, R16G16B16A16_UNorm, R16G16B16A16_Float, R32G32B32A32_Float
    Buffer Precision    UNorm8bpc, UNorm8bpcSrgb, UNorm16bpc, Float16bpc, Float32bpc

Share this post


Link to post
Share on other sites
39 minutes ago, redryan2009 said:

Physical Memory    4,095 MB

 

You should probably consider increasing your physical memory.  My laptop has 16,234 MB and it runs pretty well.

 

The more physical memory you have, the less Paint.NET needs to page that memory out to disk.

 

And, speaking of disk, you don't list what type of HDD you have, but if you upgrade to an SSD your performance will also improve.

Share this post


Link to post
Share on other sites

@BoltBait well I just pasted what Paint.net gave me, which doesn't seem to list my HDD. but this isn't my system. I've watch my memory usage through task manager and even though the program is lagging and freezing the system impact is mimumal, I don't know what's going on. and it's only when changing Layer factors like turn them on and off or creating new ones. at this point, I might need to find a way to back patch or something.

Share this post


Link to post
Share on other sites

Repros?

Lag over time?

edit: Also, with 150ish layers, using the mouse scroll wheel on the Layers window is very slow. Scrollbar on the other hand is smooth and fast.

Edited by Zagna

Share this post


Link to post
Share on other sites
2 hours ago, redryan2009 said:

@Zagna that is very close but it more lags when creating layers and editing them in ways such as turning them on and off.

Lag over time, Part Deux

After having paint.net just sitting in the background for the last hour, it is taking few seconds to toggle layers.

But, just switching to a different image and back, layers toggle as fast as normally.

Edited by Zagna

Share this post


Link to post
Share on other sites

@Zagna, I just made this post: 

 

 

Would you be willing to go through those steps? Tell WPR to start recording at about the same time as you'd start recording that video which showed the lag. Then, save the trace and send it to me (like it says in the instructions).

 

This should allow me to dig in and see what code is executing when things are slow.

Share this post


Link to post
Share on other sites

To me, it simply looks like after 150 layers, you're just running out of memory and Paint.NET stutters as there is a slight delay when it is bringing tiles into memory from disk.

 

You could probably increase performance if you increased your RAM size from 4G to 16G and invest in an SSD.

Share this post


Link to post
Share on other sites
16 hours ago, Zagna said:

Lag over time, Part Deux

After having paint.net just sitting in the background for the last hour, it is taking few seconds to toggle layers.

But, just switching to a different image and back, layers toggle as fast as normally.

 

@BoltBait, I'd be inclined to agree ... except for the part where @Zagna says that performance goes back to normal after switching images and back

 

In fact, @Zagna, if you get around to the performance trace, please include both the "slow" layer switching, then wait a few seconds and switch to another image and back, then wait a few seconds, and then include the "fast" layer switching. Having a few seconds in between will allow me to see a visible difference in the CPU usage graph as it plumetts from non-zero to zero, then zero to non-zero, etc.

Share this post


Link to post
Share on other sites

From the 3 traces you two sent me, my best guess is that the animation system is the culprit ... definitely room for some optimization there.

 

If you're able to reproduce this performance problem easily, then testing this hypothesis should also be easy. Go into Settings and un-check "Animations", and then try to reproduce the problem again. If it doesn't repro, then we've got our smoking gun :)

 

Animations being the culprit makes quite a bit of sense ... there is definitely some non-optimized code in there with is O(n) with respect to the # of layers. So you click on a layer, or move it, or scroll, or whatever ... and my code will go and update the animation state for every layer, even if it's not necessary to do so.

 

(Also, have you thought about buying a Core i9-7980XE? That might help too ... ??)

 

image.png

 

  • Like 1

Share this post


Link to post
Share on other sites

With Animations turned off, doesn't seem to produce lag for layer toggling like it did before. But since it takes an indeterminate amount of time for the lag to manifest and I'm not sure if being minimized or in the background matters, it's complicated.

I'll try couple more times with Animations turned on. It's just waiting long enough.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now