Страница: 1 |
Страница: 1 |
Вопрос: Ресурсы
Добавлено: 20.07.05 12:36
Автор вопроса: Stef
Программа писана под VS net 2005.
Обьем =575кило.
При загрузке хавает 42метра но при активной работе (открытие файлов Ворд Ехель ... из программы)доходит до 250а то и больше - а это уже не хухры-мухры, на машинах послабее начинает виснуть, да и "другие" нехило грузит.
Вопрос: Как с этим бороться, может нужно какие-то процессы выгружать и.т.п. Если можно опишите поподробнее с примерами.
СЕНКС АЛЛ
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 20.07.05 13:13
Посмтрите FAQ на gotdotnet.ru в форуме WinForms.
Номер ответа: 2
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #2
Добавлено: 20.07.05 13:47
http://www.gotdotnet.ru/DotNet/FAQ/CommonForum/Interop/524.aspx
Ну и шифры. Это он про что, про кучу что ли (Heap commit size и Heap reserve size)?
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 20.07.05 13:57
Похоже что всё таки нет, т.к. .NET использует PE EXE файл только в качестве стуба (stub).
Номер ответа: 4
Автор ответа:
dma_caviar
Вопросов: 0
Ответов: 6
Профиль | | #4
Добавлено: 20.07.05 14:16
Ну и до какого размера вручную память урезать.
Да и это что же по таймеру делать что ли, ведь она потом опять "разбухнет"?
Номер ответа: 5
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #5
Добавлено: 20.07.05 14:30
"Урезать" достаточно один раз.
Номер ответа: 6
Автор ответа:
Stef
Вопросов: 16
Ответов: 17
Профиль | | #6
Добавлено: 21.07.05 17:59
Просьба к Павлу и другим.
Если у Вас есть етот модуль (для урезания) выложите так как нашел по
http://www.gotdotnet.ru/DotNet/FAQ/CommonForum/Interop/524.aspx
переписал с Си:
...
Inherits System.Windows.Forms.Form
Inherits System.Runtime.InteropServices
...
вот другую на строку мне и кидает ошибку, не могу разобраться в чем дело. Помогите кто чем может
Номер ответа: 7
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #7
Добавлено: 22.07.05 11:01
Что-то ты не так переписал... Класс не может наследоваться от двух классов: множественное наследование ни в VB ни в VC# не реализовано.
Найи/скачай программу C# To VB.NET Converter. Она умеет переводить код с C# на VB. Весит около 6 Мб, я ее брал в VB .Net Resource Pack, но может и отдельно в интернете валяется.
В крайнем случае можно просто этот класс на C# скомпилировать в .NET Class Library и прицепить к проекту на VB, хотя это немного громоздко получится.
Номер ответа: 8
Автор ответа:
Stef
Вопросов: 16
Ответов: 17
Профиль | | #8
Добавлено: 22.07.05 13:23
К Павлу.
Сделал так:
Public Declare Function SetProcessWorkingSetSize Lib "kernel32" (ByVal handle As IntPtr, ByVal minimumWorkingSetSize As Integer, ByVal maximumWorkingSetSize As Integer) As Boolean 'для сброса памяти
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess.Handle, -1, -1)
End Sub
Нажимаю на кнопочку-урезает, но со временем опять разбухает.
Сейчас это обосуждается в теме"Помогите с переводом ". После дебатов с dma_caviar мы пришли к выводу о "нужности цикла", или есть другой путь?