/[RomCheater]/trunk/RomCheater/Docking/FloatingMemorySearcher.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/FloatingMemorySearcher.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 542 by william, Wed Jun 5 21:00:53 2013 UTC revision 544 by william, Wed Jun 5 22:00:27 2013 UTC
# Line 1510  namespace RomCheater.Docking Line 1510  namespace RomCheater.Docking
1510                                          StructResultType<ulong> result = StructResultType<ulong>.Empty;                                          StructResultType<ulong> result = StructResultType<ulong>.Empty;
1511                                          reader.GetResultAtIndex(ResultChunkIndex, SearchArgs.IsUnsignedDataType, SearchArgs.DataType, new Action<int, string>(UpdateProgress), out result, new Func<bool>(ShouldCancelAnySearchOperation));                                          reader.GetResultAtIndex(ResultChunkIndex, SearchArgs.IsUnsignedDataType, SearchArgs.DataType, new Action<int, string>(UpdateProgress), out result, new Func<bool>(ShouldCancelAnySearchOperation));
1512                                          ChunkResults[ChunkIndex] = result;                                          ChunkResults[ChunkIndex] = result;
1513                                            if (SearchWorkerThread.CancellationPending)
1514                                            {
1515                                                provider_st.Stop();
1516                                                st.Stop();
1517                                                writer.CancelRequest();
1518                                                writer.Dispose();
1519                                                e.Result = true;
1520                                                break;
1521                                            }
1522                                      }                                      }
1523                                      // Get update value(s) for each chunk result                                      // Get update value(s) for each chunk result
1524                                      ISerializedResult sr = (reader as ISerializedResult);                                      ISerializedResult sr = (reader as ISerializedResult);
# Line 1521  namespace RomCheater.Docking Line 1530  namespace RomCheater.Docking
1530                                      Stopwatch st_memory_results_updater = new Stopwatch();                                      Stopwatch st_memory_results_updater = new Stopwatch();
1531                                      st_memory_results_updater.Start();                                      st_memory_results_updater.Start();
1532                                      sr.UpdateResultValuesFromMemory(ref ChunkResults, SearchArgs.IsUnsignedDataType, SearchArgs.DataType, new Action<int, string>(UpdateProgress), new Func<bool>(ShouldCancelAnySearchOperation), (IAcceptsProcessAndConfig)this);                                      sr.UpdateResultValuesFromMemory(ref ChunkResults, SearchArgs.IsUnsignedDataType, SearchArgs.DataType, new Action<int, string>(UpdateProgress), new Func<bool>(ShouldCancelAnySearchOperation), (IAcceptsProcessAndConfig)this);
1533                                        if (SearchWorkerThread.CancellationPending) // catch a cancelled operation from UpdateResultValuesFromMemory
1534                                        {
1535                                            provider_st.Stop();
1536                                            st.Stop();
1537                                            writer.CancelRequest();
1538                                            writer.Dispose();
1539                                            e.Result = true;
1540                                            break;
1541                                        }
1542    
1543                                      st_memory_results_updater.Stop();                                      st_memory_results_updater.Stop();
1544                                      logger.Profiler.WriteLine("sr.UpdateResultValuesFromMemory [ResultIndex=0x{0} ChunkCount=0x{1}] took a total of {2} seconds to complete", ResultIndex.ToString("X"), ChunkCount.ToString("X"), st_memory_results_updater.Elapsed.TotalSeconds.ToString());                                      logger.Profiler.WriteLine("sr.UpdateResultValuesFromMemory [ResultIndex=0x{0} ChunkCount=0x{1}] took a total of {2} seconds to complete", ResultIndex.ToString("X"), ChunkCount.ToString("X"), st_memory_results_updater.Elapsed.TotalSeconds.ToString());
1545    
1546                                      // ChunkResults should have had thier values updated from memory                                      // ChunkResults should have had thier values updated from memory
1547    
1548    
1549                                      string message = string.Format(" -> Updateing values from index 0x{0} to 0x{1}", ResultIndex.ToString("X"), ChunkCount.ToString("X"));                                      string message = string.Format(" -> Updateing Values [ResultIndex=0x{0} of Total=0x{1}]", ResultIndex.ToString("X"), reader.ResultCount.ToString("X"));
1550                                      double double_percent_done = 100.0 * (double)((double)ResultIndex / (double)reader.ResultCount);                                      double double_percent_done = 100.0 * (double)((double)ResultIndex / (double)reader.ResultCount);
1551                                      int int_percent_done = (int)double_percent_done;                                      int int_percent_done = (int)double_percent_done;
1552                                      //if ((int_percent_done != Last_Whole_Percent_Done) && (index % 1000) == 0)                                      //if ((int_percent_done != Last_Whole_Percent_Done) && (index % 1000) == 0)
# Line 1535  namespace RomCheater.Docking Line 1554  namespace RomCheater.Docking
1554                                      //    UpdateProgress((int)double_percent_done, message);                                      //    UpdateProgress((int)double_percent_done, message);
1555                                      //    Last_Whole_Percent_Done = int_percent_done;                                      //    Last_Whole_Percent_Done = int_percent_done;
1556                                      //}                                      //}
1557                                      if ((ResultIndex % 10000) == 0)                                      if (((double)ResultIndex % ((double)reader.ResultCount) * 0.25) == 0)
1558                                        //if ((ResultIndex % 10000) == 0)
1559                                      {                                      {
1560                                          UpdateProgress((int)double_percent_done, message);                                          UpdateProgress((int)double_percent_done, message);
1561                                          Last_Whole_Percent_Done = int_percent_done;                                          Last_Whole_Percent_Done = int_percent_done;
1562                                      }                                      }
1563                                        if (SearchWorkerThread.CancellationPending)
1564                                        {
1565                                            provider_st.Stop();
1566                                            st.Stop();
1567                                            writer.CancelRequest();
1568                                            writer.Dispose();
1569                                            e.Result = true;
1570                                            break;
1571                                        }
1572                                  }                                  }
1573    
1574                                  #region old-code                                  #region old-code

Legend:
Removed from v.542  
changed lines
  Added in v.544

  ViewVC Help
Powered by ViewVC 1.1.22