eFMer - BoincTasks and TThrottle forum

BoincTasks Js => Wish List => Topic started by: hucker on December 24, 2025, 02:04:39 AM

Title: BoincTasks JS CPU% calculation for VirtualBox tasks (LHC Theory)
Post by: hucker on December 24, 2025, 02:04:39 AM
Hi Fred,
�I've noticed a difference in how BoincTasks JS calculates the CPU % column compared to the original desktop BoincTasks.
�In the original BoincTasks, the CPU % was calculated as (CPU Time / Wall Time). If I had an LHC Theory task assigned to 3 CPUs but it only utilized ~1.1 cores (as verified in Windows Task Manager), it would correctly show about 33-38%. 
�However, in BoincTasks JS, the column shows 100% regardless of actual internal VM utilization, as if it is reporting "Slot Reservation" rather than "Actual CPU Time Efficiency." Non-VM tasks (like MilkyWay) still seem to report correctly (~98%).
�Could you consider bringing back the (CPU Time / Wall Time) calculation for the CPU % column in the JS version? It helps me identify when a VM is being "sluggish" or under-utilizing its allocated cores, which is very helpful for system utilisation.
�Thanks for all your work on the JS version!
Title: Re: BoincTasks JS CPU% calculation for VirtualBox tasks (LHC Theory)
Post by: fred on December 24, 2025, 08:50:23 AM
In BoincTasks Clasic The calculation is the same, but removing the check at CPU % Long time average.
The interval is much shorter.

What I will do is add and optional calculate the delta between two reads.
That way you see an immediate result

What I added >>>  Readings between two intervals.

       >>>         cpuTime = cpuTime - cpuTimeOld;
       >>>         elapsedTime = elapsedTime - elapsedTimeOld;

                let cpu = 0;
                if (cpuTime == 0 || elapsedTime == 0)
                {
                    resultItem.cpu = 0;
                }   
                else
                {             
                    cpu = (cpuTime/elapsedTime) * 100;
                    if (cpu > 100) cpu = 100;
                    resultItem.cpu = cpu;                 
                }

Old is the previous reading;