Оптимизация программы

  • Автор темы Автор темы Artmg
  • Дата начала Дата начала
A

Artmg

Помогите разобраться. Написал простую программу, которая через определённый интервал времени выдаёт сообщение что надо сделать перерыв в работе. (Чтобы глаза не сильно уставали) Прога уходит в область уведомлений(там где часы) и работает в фоновом режиме. Всё работает, но прога ест слишком много ресурсов, Диспетчер задач показывает около 12 мегабайт. Весит программа 200 кб. В чём проблема? В коде, .Net (Visual studio 7.1) или в операционке (Windows XP SP 1)?
 
А каким образом программа определяет, что нужно выдавать сообщение?
Возможно именно в этом фишка - перегружаем систему частыми проверками - а не пора ли выдавать сообщение.

Это только как вариант )))
 
На главной форме NumericUpDown, там выбирается значеине в минутах. Потом свойству Interval Таймера, оно и присваивается, то есть таймер срабатывает через заданый интервал и показывает MsgBox
 
Код в студию!
 
Видимо дело не в коде, создал и построил (Release) пустую форму 10 мб. в диспетчере, был у меня написан простой текстовый квест (типо как в Косм рейнджерах) 32 мб в диспетчере. Такое ощущение что подгружается к файлу ещё весь .Net Framework. Код проги вот:

` здесь событие когда пользователь нажимает скрыть. 60000 это множитель чтобы милисек в мин перевести
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Visible = False
Timer1.Interval = NumUpDown1.Value * 60000
Timer1.Enabled = True
End Sub

` это событие таймера. frmAttention форма которая отображается (Пойдите отдохните)
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim a As New frmAttention
a.ShowDialog()
End Sub

Ещё есть Notify Icon и контекст.Меню к ней, но там всё стандартное. Основные события выше.
 
Вбнет это не сюда.
 
Провёл небольшой эксперимент. Установил DirectX SDK там есть одни и теже примеры для разных языков. Приме для С# ест мегабайт чуть больше чем VB, пример на С++ ест раза в 2-3 меньше. Но не всё так однозначно, VB и C# оставляют процессор почти незагруженным, а на С++ забирает 99% вычилслительной мощности. Так что видимо для приложений предназначеных для работы в фоновом режиме VB может лучше всего и подходит. Хотя может я где-то и ошибаюсь.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab