]> OCCT Git - occt-copy.git/commitdiff
0030901: Visualization - OSD_MemInfo moving memory computation out of the constructor
authornds <nds@opencascade.com>
Thu, 15 Aug 2019 05:40:14 +0000 (08:40 +0300)
committernds <nds@opencascade.com>
Thu, 15 Aug 2019 05:40:14 +0000 (08:40 +0300)
src/Draw/Draw_BasicCommands.cxx
src/OSD/OSD_MemInfo.cxx
src/OSD/OSD_MemInfo.hxx
src/QABugs/QABugs_20.cxx

index 638fcfdd9d01879b95ec5e8552b0bce609339564..96f0ba634b4183a94939a8c850a1890a3d2d2c9a 100644 (file)
@@ -763,6 +763,7 @@ static int dmeminfo (Draw_Interpretor& theDI,
                      const char**      theArgVec)
 {
   OSD_MemInfo aMemInfo;
+  aMemTool.Update();
   if (theArgNb <= 1)
   {
     theDI << aMemInfo.ToString();
index d5eda9ee262b9afea1952a331059e51c422fb252..04c883a2c7e65c9b04cea7a9b73c943ba6a6811b 100644 (file)
 // =======================================================================
 OSD_MemInfo::OSD_MemInfo()
 {
-  Update();
+  // reset values
+  for (Standard_Integer anIter = 0; anIter < MemCounter_NB; ++anIter)
+  {
+    myCounters[anIter] = Standard_Size(-1);
+  }
 }
 
 // =======================================================================
@@ -227,14 +231,14 @@ Standard_Size OSD_MemInfo::Value (const OSD_MemInfo::Counter theCounter) const
 // function : ValueMiB
 // purpose  :
 // =======================================================================
-Standard_Size OSD_MemInfo::ValueMiB (const OSD_MemInfo::Counter theCounter) const
+Standard_Real OSD_MemInfo::ValueMiB (const OSD_MemInfo::Counter theCounter) const
 {
   if (theCounter < 0 || theCounter >= MemCounter_NB)
   {
-    return Standard_Size(-1);
+    return Standard_Real(-1.);
   }
   return (myCounters[theCounter] == Standard_Size(-1))
-       ? Standard_Size(-1) : (myCounters[theCounter] / (1024 * 1024));
+       ? Standard_Real(-1.) : ((Standard_Real)myCounters[theCounter] / (1024 * 1024));
 }
 
 // =======================================================================
index e1def2dc3dad5499684f74978fc09332c1db1769..40633e00f66c3c39b8e4ffd58495b8d21edd7740 100644 (file)
@@ -82,7 +82,7 @@ public:
   //! Return value or specified counter in MiB.
   //! Notice that NOT all counters are available on various systems.
   //! Standard_Size(-1) means invalid (unavailable) value.
-  Standard_EXPORT Standard_Size ValueMiB (const OSD_MemInfo::Counter theCounter) const;
+  Standard_EXPORT Standard_Real ValueMiB (const OSD_MemInfo::Counter theCounter) const;
 
 public:
 
index 7b676e5e8482194f4b0eed43fc9e22abb891f4ea..93a04ae4fe39df5f48a6633cf118aaaa7372ac7b 100644 (file)
@@ -2786,6 +2786,7 @@ template<typename T> void AllocDummyArr (Draw_Interpretor& theDI, int theN1, int
   NCollection_Array1<T> aMapArr1(0, theN1), aMapArr2(0, theN2);
 
   OSD_MemInfo aMemTool;
+  aMemTool.Update();
   Standard_Size aMem0 = aMemTool.Value (OSD_MemInfo::MemHeapUsage);
 
   for (int i = 1; i < theN1; i++)