I think PhotoLab just sends command queues to GPU and VRAM management is done by the Nvidia driver and the encapsulating Microsoft code, memory usage being adaptive.
Yes, your right on Queue, and also in others. However, please see below.
Your comment give an idea (Many thanks!) to me to check as i can what happen.
I check in one (1) photo DP3 export, no AI mask, GPU. Windows11.
UPDATE! Corrected memory measures + Export process GPU purge now know more!
After export the GPU VRAM usage approx:
DxO.Photolab.exe â its the main client application: 0.7 GB (usually between 0.5-1.4GB)
DxO.PhotoLab.ProcessingCore.exe â Its does the Export processing: 1.3 GB
Overall - DxO Client + DxO Processing (export) is approx 2.0 GB
But after DP3 export, the Processing (export) âstayâ on 1.3GB (for a while, see later). What may seems pointless - at least may for most of us - but mays okay, see below.
Release âunusedâ memory called âGarbage collectionâ (GC) function (or some similar name). DxO Application use âConcurrent GCâ mode - what is pretty typical in client applications. But i guess its only for the âCPU Memoryâ (standard memory) usage, and not for the GPU Memory - but seems also in GPU something happen.
I guessed the followings about PL GC on GPU (to release not used VRAM):
- Not works at all
- Works, but âmemory purgeâ time can be quite long - may if we wait a few hour, may see interesting things.
- Works, but its a âlarge objectâ, itâs never reach the GC limit for purging. - for user point of view its just not works
I do some test, and find out (at least for me) the point 2. Works, but âmemory purgeâ time can be quite long - may if we wait a few hour, may see interesting things. is the reality.
UPDATE: Not, seems its not do on Export GPU usage any GC, its use some pre-defined time (2hour)
After PL stay idle (no editing, no export, just stay minimized) for like 2 hour (i not check exactly) the PL GPU usage drop down - seems GPU GC âpurgingâ works, but its need time, seems hours.
So, after like 2 hours of PL idle, i read the followings (GPU VRAM usage) approx:
DxO.Photolab.exe â its the main client application: 0.5 GB
DxO.PhotoLab.ProcessingCore.exe ->Its does the Export processing: 0.12 GB
So, DxO Client + DxO Processing is approx 0.7 GB (after PL is idle for like 2 hour). Export process definitely âpurgeâ unused GPU VRAM. - UPDATE: No, its not, see update in the end.
However, if i just click on PL, GPU memory change (what I expected) approx:
DxO.Photolab.exe â its the main client application: 1.2 GB (may a bit more)
DxO.PhotoLab.ProcessingCore.exe ->Its does the Export processing - stay in the same (what i also expect): 0.12 GB of GPU committed memory
So, DxO Client + DxO Processing is approx 1.3 GB
Overall i think:
- If PL stay idle for a while (like 2 hour)
- Seems not used GPU VRAM âpurgedâ (GC)
- Both for Export process and PL main (client) process
- Even if you continue PL editing (but not exporting), the Export process GPU VRAM usage stay in minimum.
- May âweâ expect some more aggressive âmemory purgingâ.
- Seems memory purging done automatically, but as export process (DP3) result is pretty large object, purging happen after a quite while (seems stage 2 GC) - Update: no, its not purge via GC, its happen after a pre-defined time (2hour)
Disclaimer: it based only in my observations, and my computer (4GB VRAM, old AMD). May Export process purge memory even if you continue editing in PL but not export anything.
Sorry if it was too technical.
Add-on: after export kill the DxO.PhotoLab.ProcessingCore.exe also does the trick. Its automatically restart
@BHAYT - may you interested on this.