ATNEL tech-forum https://forum.atnel.pl/ |
|
Różny czasy wykonywania się programu pod WIN10 i WIN_XP, 7 https://forum.atnel.pl/topic23468.html |
Strona 1 z 1 |
Autor: | micky [ 7 gru 2020, o 00:48 ] |
Tytuł: | Re: Różny czasy wykonywania się programu pod WIN10 i WIN_XP, |
Czy w trakcie obliczeń odświeżasz /aktualizujesz okno? |
Autor: | Artur_26 [ 7 gru 2020, o 08:15 ] |
Tytuł: | Re: Różny czasy wykonywania się programu pod WIN10 i WIN_XP, |
Cześć:) Micky dzięki za podpowiedź:) W procedurze, która robi minimalizację umieściłem "Application.ProcessMessages" po to aby zrobić sobie małą animację mówiącą o tym, że trwa minimalizacja. Wcześniej szukałem info pod hasłem zmiana priorytetu procesu i znalazłem, że w DELPHI można użyć "SetPriorityClass" ale moje próby nic nie dały. Znalazłem na tym forum 4programmers.net opisany podobny przypadek do mojego, że pod win7 ten sam program wykonywał obliczenia krócej niż w Win10. link: https://4programmers.net/Forum/Delphi_P ... windows_10 Autor "problemu" opisał, że w jednej z procedur wykonywanej wielokrotnie, użył komponent TEdit do zmiany stinga na float i jak zmienił podejście to mu zaczęło wszystko śmigać. I ja sobie wtedy przypomniałem o wcześniej wspominanym Application.ProcessMessages. Usunąłem z mojej procedury i teraz minimalizacja przy największej ilości kroków iteracji trwa około 3,2 sekundy Cieszę się z efektu ale nie zmienia to faktu, że nie rozumiem dlaczego Win10 w taki sposób reaguje a Win7 i XP działa inaczej a zrozumienie to podstawa:) rozumiem, że to różne systemy Dzięki za pomoc:) |
Autor: | mirekk36 [ 7 gru 2020, o 14:49 ] |
Tytuł: | Re: Różny czasy wykonywania się programu pod WIN10 i WIN_XP, |
wywal z obliczeń dostęp do jakichkolwiek komponetów wizualnych, editów, Memo itp to PODSTAWA Podstaw. Jeśli nawet masz wyświetlać później wyniki w Memo to używaj pred startem Memo1.Lines.BeginUpdate; //..... obliczenia i wpisywanie czegoś do memo Memo1.Lines.EndUpdate a najlepiej to zrób całe obliczenia w oddzielnym wątku (użyj klasy TThread) i w nim możesz ustalić priorytet nawet wysoki ale i bez tego będzie śmigać że szok na każdym systemie. ProcessMessages unikaj w długich obliczeniowych pętlach bo robisz masakrę w kolejkowaniu widomości, które Win10 po tysiąckroć lepiej obsługuje niż starsze systemy i dlatego nie można tego mechanizmu zatykać za pomocą processmessages |
Autor: | Artur_26 [ 7 gru 2020, o 16:44 ] |
Tytuł: | Re: Różny czasy wykonywania się programu pod WIN10 i WIN_XP, |
Cześć, Mirku już tak zrobiłem, w procedurze nie miałem żadnych odwołań do komponentów wizualnych, tylko "processmessages" ale w 3 miejscach . Usunąłem wszystkie jakie miałem (3 sztuki) i wszystko zaczęło śmigać. Teraz przy największej liczbie kroków iteracji (ponad 131 milionów), minimalizacja zajmuje 3,2s. Dzięki za pomoc Teraz będę starał się opanować wątki. Jak to się mówi "wszystko dla ludzi" Pozdrawiam Serdecznie |
Autor: | mirekk36 [ 7 gru 2020, o 18:00 ] |
Tytuł: | Re: Różny czasy wykonywania się programu pod WIN10 i WIN_XP, |
a pewnie - że wątki są dla ludzi - szkoda że tak mało ludzi interesuje się delphi - bo mógłbym zrobić fajny poradnik wideło na temat tego jak szybko wskoczyć w wątki w delphi |
Autor: | Artur_26 [ 7 gru 2020, o 22:03 ] |
Tytuł: | Re: Różny czasy wykonywania się programu pod WIN10 i WIN_XP, |
Mirku warto nawet dla małej garstki osób nie daj się prosić |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |