|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|||||||||||
Слишком большая загрузка проца и оперативы21.05.2011, 16:22. Показов 1681. Ответов 12
Метки нет (Все метки)
Приветствую.
Такая ситуация. Есть чат. Коннектится к SQL Server, получает оттсуда сообщенияи показывает их в WebBrowser. С остальным проблемм нет, есть только одна проблема... Для забора новых сообщений идет примерно такой код:
Какие есмть предложения? Остальное все проверял - проблема именно в сообщениях. Из-за них памят жрется, точнее из-за того, что они добавляются в WebBrowser. Какие есть выходы, кроме как удалять старые сообщения?
0
|
|||||||||||
| 21.05.2011, 16:22 | |
|
Ответы с готовыми решениями:
12
Опишите, пожалуйста, детально разгон проца и оперативы Firefox жрет слишком много оперативы Константа слишком большая |
|
snov
|
|
| 22.05.2011, 08:30 | |
|
А зачем вообще WebBrowser? Насколько я заметил там кроме ссылок ничего и нет такого чтобы его юзить. попробуй переделать под RichTextBox
|
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 22.05.2011, 15:32 [ТС] | |
|
Всё не так просто
![]() 1) Ссылки (RTF их не держит, если не ошибаюсь) 2) Анимированные картинки
0
|
|
|
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
|
||||||
| 22.05.2011, 16:41 | ||||||
|
у тебя раздувается переменная Att
попробуй после каждой строки добавлять в HTML:
0
|
||||||
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 22.05.2011, 16:46 [ТС] | |
|
Кудаж она раздувается то?
Ну кладется в нее за один проход по 500 байт, затем она умирает при выходе из процедуры. Дело ней в ней, а именно в экслорере.
0
|
|
|
Comanche
|
|
| 22.05.2011, 20:18 | |
|
Не совсем уверен, что дело именно в этом, но по моим наблюдениям, DOM - тормозная штука, и код типа 'DIV.innerHTML = DIV.innerHTML & Att' занимает изрядно времени, как и все манипуляции с innerHtml, outerHtml и т.д.
Имхо, лучше готовить всё в строковой переменной, а затем _единожды_ делать WebBrowser1.Document.all.outerHtml = stBuff. Ну или сохранять stBuff в файл, а затем - Navigate. |
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 22.05.2011, 20:31 [ТС] | |
|
Navigate будет гадко щелкать
![]() а штука эта тормозная очень, согласен. Ок, попробую через OuterHTML.
0
|
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 23.05.2011, 01:26 [ТС] | |
|
2Comanche: Не, не прокатило... Может че не так делаю...
Сначала пробовал так: WB.Document.All.outerHTML = 'messages_code' получем Object doesn't support this property or method Потом сделал так: Dim Doc Set Doc= WB.Document Doc.All.outerHTML = 'messages_code' Через Navigate пробовал - не катит - прыгает постоянно, т.к. сообщения добавляюются вниз. Еслиб вверх добавлялись, то прокатило бы.... но это неудобно.
0
|
|
|
Messir
|
|
| 23.05.2011, 09:04 | |
|
Дааа...
![]() Вообще-то от идеи таких чатов давно отказались в пользу постоянно открытого потока. А что касается outerHTML'a, то у All его, естественно, нету. Нужно писать что-то типа document.body.outerHTML = '<body>' & buff & '</body>' |
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
||||||
| 23.05.2011, 11:08 [ТС] | ||||||
|
>Вообще-то от идеи таких чатов давно отказались в пользу постоянно открытого потока.
Чат для локальной сетки. Постоянное подключение к MS SQL. Страница не обновляется постоянно, а добавляются только новые сообщения. Хотя да, теперь уже можно сказать обновляется - старые сообщения убиваются. Вот выход из этого и ищу. > А что касается outerHTML'a, то у All его, естественно, нету. Нужно писать что-то типа document.body.outerHTML = '<body>' & buff & '</body>' Мда, туплю. В MSDN нашел вот такой пример... Вроде работает. Домой приду - попробую.
0
|
||||||
|
Comanche
|
|
| 23.05.2011, 13:10 | |
|
2Alexey:
Пардон, подвёл тебя с 'WebBrowser1.Document.all.outerHtml' - писАл на память... |
|
|
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
|
|
| 26.05.2011, 00:25 [ТС] | |
|
короче говоря не помогает...
Даже с Doc.Body.InnerHTML. с Outer ошибку выдает. Да и как я понял, не в этом дело. ПРи добавлении одног осообщения сразу колво оперативы, занмиаемой прогоарммй, возрастает на 60-100 КБ. Не знаю как с этим бороться... Если, к примеру, взять чат.ру. Там хоть сутки канал не закрывай - эксплорер тормозить не будет и много памяти не жрет. Как так получается - не понимаю...
0
|
|
|
Comanche
|
|
| 26.05.2011, 17:22 | |
|
Попробуй не помещать контрол на форму (и отключи его в Tools/Components), а в Tools/References подруби MS Internet Controls к проекту, и дальше - Set MyIE = New InternetExplorer и т.д.
Это я к тому, что м.б. именно КОНТРОЛ WebBrowser - глючен, и всё дело в нём. Это было бы очень похоже на мелгомягких ) Например, контрол ListView - просто глюк на глюке, и сколько его до ума не доводи - лучше чем CreateWindowEx(...SysListView32...) не сделаешь.
|
|
| 26.05.2011, 17:22 | |
|
Помогаю со студенческими работами здесь
13
Слишком большая нагрузка на ЦП Константа слишком большая Слишком большая база
Слишком большая длина записи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|