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

Это только как вариант )))
Artmg
На главной форме NumericUpDown, там выбирается значеине в минутах. Потом свойству Interval Таймера, оно и присваивается, то есть таймер срабатывает через заданый интервал и показывает MsgBox
Vlanib
Код в студию!
Artmg
Видимо дело не в коде, создал и построил (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 и контекст.Меню к ней, но там всё стандартное. Основные события выше.
Gamlet
Вбнет это не сюда.
Artmg
Провёл небольшой эксперимент. Установил DirectX SDK там есть одни и теже примеры для разных языков. Приме для С# ест мегабайт чуть больше чем VB, пример на С++ ест раза в 2-3 меньше. Но не всё так однозначно, VB и C# оставляют процессор почти незагруженным, а на С++ забирает 99% вычилслительной мощности. Так что видимо для приложений предназначеных для работы в фоновом режиме VB может лучше всего и подходит. Хотя может я где-то и ошибаюсь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.