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

Тема в разделе "Visual Basic", создана пользователем Artmg, 26 авг 2008.

  1. Artmg

    Artmg Гость

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

    Tanya Гость

    А каким образом программа определяет, что нужно выдавать сообщение?
    Возможно именно в этом фишка - перегружаем систему частыми проверками - а не пора ли выдавать сообщение.

    Это только как вариант )))
     
  3. Artmg

    Artmg Гость

    На главной форме NumericUpDown, там выбирается значеине в минутах. Потом свойству Interval Таймера, оно и присваивается, то есть таймер срабатывает через заданый интервал и показывает MsgBox
     
  4. Vlanib

    Vlanib Гость

    Код в студию!
     
  5. Artmg

    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 и контекст.Меню к ней, но там всё стандартное. Основные события выше.
     
  6. Gamlet

    Gamlet Well-Known Member

    Регистрация:
    8 янв 2007
    Сообщения:
    609
    Симпатии:
    0
    Вбнет это не сюда.
     
  7. Artmg

    Artmg Гость

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

Поделиться этой страницей