Todo lo antes mencionado me esta consumiendo alrededor de 50MB de RAM, esto no lo veo mal, lo que si me sorprende es que consuma el 50% de los recurso del procesador (Pentium Dual Core E5300).
Mi pregunta es, ¿Hay alguna forma de saber que parte del programa es la que esta consumiendo tantos recursos del procesador?¿Que practicas se pueden implementar para reducir el consumo de procesador?
Edito:
Al parecer ocurre luego de un par de horas de funcionamiento, empiezo a sospechar que los RichTextBox, al llenarse, hacen que la aplicación consuma mas recursos.
El código que estoy usando en lo delegados es el siguiente:
Código vb:
Ver original
Private Sub PrintLog(ByVal NewText As String, Optional ByVal NewLine As Boolean = True) If Me.InvokeRequired Then Dim Txt As New PrintLogDelegate(AddressOf PrintLog) Me.Invoke(Txt, New Object() {NewText}) Else Dim FechaHora As String = "" 'If NewLine And LogRTB.TextLength > 1 Then 'Evita que se agregue un /r/n a la primera linea If NewLine Then FechaHora = GetFechaHora() & " | " If LogRTB.TextLength > 1 Then NewText = vbCrLf & FechaHora & NewText Else NewText = FechaHora & NewText End If End If LogRTB.AppendText(NewText) LogRTB.SaveFile(LogPath & ".log", RichTextBoxStreamType.PlainText) If LogRTB.TextLength > 1000000 Then LogRTB.Clear() 'Si supera el millon de caracteres renovar el nombre del archivo para que quede listo para el proximo LogPath = Application.StartupPath & "\" & GetFechaHora().Replace(":", "") End If If LogAutoScrollChk.Checked Then LogRTB.ScrollToCaret() End If End If End Sub
¿Ustedes lo ven muy pesado?