Автор Тема: От чего может расти файл подкачки?  (Прочитано 2653 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Afonichev [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1535
  • Репутация: 408
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Имеется 2 скрипта, один снимает screenshot с активного окна, а другой принимает и отображает на форме, при включении 2х скриптов в локальном режиме, на ЦП 60% нагрузка, но не в этом дело, при работе на 2х разных ПК ЦП не грузит, но я не знаю как ведёт себя индикатор выделения памяти (файл подкачки) на передающем ПК, в тестовом локальном режиме он постоянно растёт, от ~ 844 мб до 2.4 Гб, в обоих скриптах вроде везде память очищается, не могу понять почему так растёт, а самое главное чтоб этого не происходило на стороннем ПК?!

Receive
(нажмите для показа/скрытия)

Send
(нажмите для показа/скрытия)

Русское сообщество AutoIt

От чего может расти файл подкачки?
« Отправлен: Февраль 09, 2012, 08:24:18 »

Оффлайн Afonichev [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1535

  • Автор темы
  • Репутация: 408
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: От чего может расти файл подкачки?
« Ответ #1, Отправлен: Февраль 09, 2012, 09:55:34 »
Дошло наконец то до меня, я не очещал память созданную функцией _GDIPlus_GetImageThumbnail(), постоянно путаю _GDIPlus_BitmapDispose() и _GDIPlus_ImageDispose() в функции стояла _GDIPlus_BitmapDispose(), а очищать нужно _GDIPlus_ImageDispose()

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2696
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: От чего может расти файл подкачки?
« Ответ #2, Отправлен: Февраль 09, 2012, 10:47:43 »
;D

Найдите хоть одно отличие.

Код: AutoIt [Выделить]
Func _GDIPlus_BitmapDispose($hBitmap)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipDisposeImage", "handle", $hBitmap)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[0] = 0
EndFunc   ;==>_GDIPlus_BitmapDispose


Код: AutoIt [Выделить]
Func _GDIPlus_ImageDispose($hImage)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipDisposeImage", "handle", $hImage)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[0] = 0
EndFunc   ;==>_GDIPlus_ImageDispose




Добавлено: Февраль 09, 2012, 10:57:35
После вызова _WinAPI_GetDC() нужно вызывать _WinAPI_ReleaseDC().
« Последнее редактирование: Февраль 09, 2012, 10:57:35 от Yashied, Причина: Объединение сообщений »


Думай, прежде чем говорить.

Оффлайн Afonichev [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1535

  • Автор темы
  • Репутация: 408
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: От чего может расти файл подкачки?
« Ответ #3, Отправлен: Февраль 09, 2012, 16:42:53 »
 ;D странно, зачем же тогда 2е одинаковые функции..., кстати, этот пример (передача скриншота по интернет) Ваш, после _WinAPI_GetDC() вызывается _WinAPI_DeleteDC(), вообщем я решил проблему с утечкой памяти. :)

Русское сообщество AutoIt

Re: От чего может расти файл подкачки?
« Ответ #3 Отправлен: Февраль 09, 2012, 16:42:53 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
4041 Просмотров
Последний ответ Октябрь 02, 2010, 00:09:25
от Yashied
5 Ответов
7123 Просмотров
Последний ответ Сентябрь 11, 2011, 01:19:49
от scenarist
18 Ответов
6899 Просмотров
Последний ответ Октябрь 30, 2011, 17:09:36
от VladUs
4 Ответов
3139 Просмотров
Последний ответ Декабрь 15, 2011, 21:55:29
от AZJIO
3 Ответов
1970 Просмотров
Последний ответ Ноябрь 03, 2012, 12:03:01
от Kaster
21 Ответов
8260 Просмотров
Последний ответ Ноябрь 19, 2012, 11:58:22
от zlo-kazan
8 Ответов
2410 Просмотров
Последний ответ Январь 27, 2014, 13:49:38
от winstan
69 Ответов
16957 Просмотров
Последний ответ Апрель 24, 2014, 17:49:28
от CreatoR
3 Ответов
799 Просмотров
Последний ответ Август 27, 2015, 18:05:05
от CreatoR
3 Ответов
592 Просмотров
Последний ответ Декабрь 12, 2017, 22:21:29
от InnI