Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];

Вниз

Свернуть скрытую форму без мерцания....   Найти похожие ветки 

 
Makhanev Alexander   (2007-03-14 02:59) [0]

Как свернуть (SW_MINIMIZE) скрытую (SW_HIDE) форму таким образом, чтобы не было мерцания в левом нижнем углу экрана ?

(основная задача - запустить свернутое невидимое окно\приложение)


 
TRUNK ©   (2007-03-14 09:19) [1]

Левый нижний угол экрана мерцает, т.к. туда сворачивается (минимизируется) окно.
Что-бы мерцания там не было, нужно вместо минимизации просто прятать окно.
Но исходя из того, что написано, получается, что окно уже спрятано - зачем тогда
его сворачивать ?


 
Makhanev Alexander   (2007-03-27 02:12) [2]

вот этот код вызывает мерцание в левом нижнем углу экрана:

 ShowWindow(Handle, SW_MINIMIZE);
 ShowWindow(Handle, SW_HIDE);

хотя форма hidden изначально.

видимо при SW_MINIMIZE она всё же отрисовывается...


 
Германн ©   (2007-03-27 02:18) [3]


> Makhanev Alexander   (27.03.07 02:12) [2]
>
> вот этот код вызывает мерцание в левом нижнем углу экрана:
>
>
>  ShowWindow(Handle, SW_MINIMIZE);
>  ShowWindow(Handle, SW_HIDE);
>
> хотя форма hidden изначально.
>
> видимо при SW_MINIMIZE она всё же отрисовывается...
>

Повторю вопрос от TRUNK ©   (14.03.07 09:19) [1]

> получается, что окно уже спрятано - зачем тогда
> его сворачивать ?
>


 
Makhanev Alexander   (2007-03-27 03:14) [4]

> получается, что окно уже спрятано - зачем тогда
> его сворачивать ?

А так в TaskManager"е памяти меньше показывает...))  

Где-то в конфах про такой финт читал..


 
Германн ©   (2007-03-27 03:51) [5]


> Makhanev Alexander   (27.03.07 03:14) [4]
>
> > получается, что окно уже спрятано - зачем тогда
> > его сворачивать ?
>
> А так в TaskManager"е памяти меньше показывает...))  
>
> Где-то в конфах про такой финт читал..
>

Я бы назвал это не финтом, а ...
Но Правила форума я уважаю :) Да и вообще мне моё самознание не позволяет употреблять некоторые термины без необходимости! :)


 
RASkov   (2007-03-27 11:57) [6]

> [4] Makhanev Alexander   (27.03.07 03:14)

Убери нафик вобще эту форму....


 
sniknik ©   (2007-03-27 12:13) [7]

> А так в TaskManager"е памяти меньше показывает...))  
т.е. основная цель не свернуть форму, а показать в TaskManager"е меньше памяти... ? так почему бы именно это и не спросить???? зачем "отвлекающими маневрами" нам мозги "парить"?

вот из вредности не скажу как... блин, сколько можно решать не то что делаешь, а извращаться на неверных в принципе путях решения.
тем более это был бы вредный совет (непонимающему)... заставлять виндовый менеджер памяти перераспределять ее часто, это тормозить всю систему... (а после они же кричат "винда мастдай") пусть лучше у тебя окно мигает, так сразу видно кто в глюках виноват.


 
Makhanev Alexander   (2007-03-27 18:35) [8]


> Я бы назвал это не финтом, а ...
> Но Правила форума я уважаю :) Да и вообще мне моё самознание
> не позволяет употреблять некоторые термины без необходимости!
>  :)

Ок, без проблем. Так что вы предлагаете? Не делать minimize?
Ведь форма иногда нужна.


> Убери нафик вобще эту форму....

Она иногда нужна.


> sniknik ©   (27.03.07 12:13) [7]

)))

Что вы предлагаете, если мне иногда форма нужна? Но когда она скрыта и заминимайзена я поступаю плохо? Не делать minimize, а только hide?


 
RASkov   (2007-03-27 19:42) [9]

> Она иногда нужна.

Вот когда она нужна станет, то создай ее, покажи и опять убей...


 
sniknik ©   (2007-03-27 21:59) [10]

> Что вы предлагаете, если мне иногда форма нужна? Но когда она скрыта и заминимайзена я поступаю плохо? Не делать minimize, а только hide?
я предлагаю когда нужен minimize делать минимайз, а когда нужен hide тогда делать найде, а когда хочется чтобы таскменеджер памяти меньше показывал тогда делать "сброс" памяти... и ни в коем случае не делать одно ради другого. кто бы там тебе чего не насоветовал.

вообще зачем ее "минимайзить" если она скрыта и ее все одно не видно? как минимум лишнее действие.


 
Macrodens ©   (2007-03-28 09:42) [11]

и много памяти при этом экономится?


 
sniknik ©   (2007-03-28 11:27) [12]

> и много памяти при этом экономится?
не экономится, это самообман, только показывается минимум используемого на тот момент, момент "обрезки". первое же обращение в область "обрезанного" заставляет менеджер перераспределять ее опять, в обратную сторону...

цифры можеш посмотреть сам, открой таск менеджер, найди процесс любой открытой программы посмотри память, а после нажми кнопку "свернуть" и смотри разницу.
для свернутой программы это имеет смысл, предполагается что она не работает, спит, и память ей не нужна...  но вот для работающей, как тут просто для того чтобы показать минимум все это превращается в эдакого рода виртуальный ананизм... ты ее туда, менеджер обратно, и т.д. ...


 
homm ©   (2007-03-28 15:09) [13]

> А так в TaskManager"е памяти меньше показывает...))  

Ключевое слово — «показывает»


> и много памяти при этом экономится?

Ни байта.


 
RASkov   (2007-03-28 19:03) [14]

> Ни байта.

Это если свопа нет...(я про озу)
В том-то и дело, когда форма свернута, то нечего хранить ее UI в физ памяти, поэтому она скидывается(не освобождается) в своп, в результате больше становится доступной физ памяти.


 
homm ©   (2007-03-28 21:58) [15]

> [14] RASkov   (28.03.07 19:03)

В любом случае это не есть поведение, к которому нужно стремится своими силами. Система не дура, если ей понадобится — она возьмет. Если нет — к чему стараться?


 
RASkov   (2007-03-28 23:20) [16]

> [15] homm ©   (28.03.07 21:58)
> В любом случае это не есть поведение, к которому нужно стремится своими силами.

Автор хочет Замаскировать, якобы его приложение использует памяти по минимуму :) и пытается сделать это не очень (или - очень не) красиво..


 
Makhanev Alexander   (2007-03-30 02:35) [17]

>RASkov   (28.03.07 23:20) [16]

Сейчас вот тестики провел...

Вобщем когда прога Hidden но не minimized она растет c 4 до скольки угодно метров... (подозреваю. что гдето утечка...)

Потом ее делаю visible, сворачиваю, разворачиваю - и в TM вижу примерно исходные 4 метра.

Причем эти 4 метра держатся долго, пока процесс опять не растет потихоньку....

1.Интересно, если не юзать формы - оно себя будет также вести?

2.А как на самом деле юзать память по минимуму?

3.И как находить утечки? (помимо юзания прямых рук...)) )


 
Makhanev Alexander   (2007-03-30 02:38) [18]

Да и вообще - это ж маркетинг....

Юзер жалуется на то, что видит в TM и ему пофиг как оно там на самом деле жрет память....

Я знаю что я не программист и не стремлюсь овладеть тонкостями пользования памяти. Я лишь хочу сделать так, чтоб клиент думал то, что видит :)

Но если будут реальные советы по реальной оптимизации - буду рад почитать. (хотя я понимаю, что тут надо саму прогу смотреть и т.п...)


 
Virgo_Style ©   (2007-03-30 07:49) [19]

Makhanev Alexander   (30.03.07 2:38) [18]
Да и вообще - это ж маркетинг....

Тогда тебе к маркетологам.

А совет, естественно - найти ошибку и исправить.


 
VEZ   (2007-03-30 13:17) [20]

Незнаю как там в виндовском таск мэнеджере, а в процесс експлорер при сворачивании/разворачивание никаких изменений размера памяти ненаблюдается.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.042 c
15-1178102375
Megabyte
2007-05-02 14:39
2007.05.27
Интеграция MS Project и программ на .NET


2-1178529896
Officeman
2007-05-07 13:24
2007.05.27
Делаю скриншот экрана, КАК вывести текст на изображение


1-1175375049
Юлёна
2007-04-01 01:04
2007.05.27
Перевод с 7.0 в 5.0


15-1177669997
Pavel Kuznecov
2007-04-27 14:33
2007.05.27
ASF - Позиция


15-1178100684
ыукмшсу
2007-05-02 14:11
2007.05.27
Регистрация службы в MS Vista





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский