MorphOS.pl – Polska strona użytkowników MorphOS-a
MorphOS.pl – Polska strona użytkowników MorphOS-a

Strona główna Forums Oprogramowanie Ambient Threads i priorytety

Widok 9 wpisów - 1 z 9 (of 9 wszystkich)
  • Autor
    Wpisy
  • #160
    edeede
    Participant

    Czy jest możliwość ustawienia tak aby priorytet wątków Ambienta nie schodził poniżej -1 ?

    Ps. Dlaczego ? – ano dlatego, że nie ma najmniejszego sensu aby kolejne wątki pojawiały się z coraz niższym priorytetem, wręcz przeszkadza to, już od 1.45 wersji MorphOSa.

    #553
    Avatarkrashan
    Participant

    W sumie nawet tego nie zauważyłem… Gdy spojrzę w Task Managera widzę sześć wątków Ambienta, z czego pięć ma priorytet 0, a jeden -1. W jakich sytuacjach objawia się to zmniejszanie priorytetów?

    #554
    edeede
    Participant

    Sytuacja wygląda tak: blender sobie renderuje (domyślnie ma -1) w tym czasie przeglądam sobie zawartość dysku i jest ok do momentu kiedy przełączę na wyświetlanie all files. Po wyświetleniu all files (jeszcze zrywnym) ów wątek zmienia priorytet na -2 i zamuła – można zapomnieć o multitaskingu ;] Ambienta, właściwie do zwolnienia zajętości procesora przez blendera (po tym priorytet Ambienta wraca samoistnie do normy) . Teoretycznie mogę zmienić priorytet blendera czy ambienta, jednak w przypadku ambienta musiałbym to robić co chwilę … a w przypadku każdej nowej aplikacji intesywnie wykorzystującej procesor kombinować z dostrajaniem jej …

    #555
    Avatarkrashan
    Participant
    Po wyświetleniu all files (jeszcze zrywnym) ów wątek zmienia priorytet na -2 i zamuła

    To jest zrobione specjalnie – chodzi o to, żeby skanowanie plików przez Ambienta nie zamuliło z kolei całego systemu, bo to może trochę potrwać. Dlatego przy skanowaniu katalogu wątek Ambienta zmienia na chwilę priorytet na -2. Można się zastanawiać co jest najlepszym rozwiązaniem tego problemu. Moim osobistym zdaniem proces renderujący Blendera powinien mieć domyślnie znacznie mniejszy priorytet, na przykład -50 (dla przykładu klient dnetc ma -120).

    #556
    edeede
    Participant

    Rozumiem, że specjalnie, jednak nadal uważam, że -2 to znaczna przesada gdyż po prostu nie sprawdza się to w praktyce a "jedynie" przeszkadza i wprowadza niepotrzebny zamęt (nie tylko przy blenderze) . Z drugiej strony inne częsci systemu mają ustawione priorytety odpowiednio wysoko aby do sytuacji o której piszesz nie doszło. Skanowanie i wyświetlanie thumbnails ma być szybkie i niezależnie od uruchamianych aplikacji. Ustawienie wątku renderującego blendera na niski priorytet uniemożliwia edycje (podgląd konkretnie) materiałów w czasie renderowania. Wydaje mi się, że Ambient i aplikacje silnie obciążające procesor powinny ścierać się na tym samym poziomie priorytetu a dopiero aplikacje wymagajace czasu rzeczywistego (odtwarzanie muzyki lub filmu) powinny być na poziomie 0. Aktualny bajer Ambienta to utrudnia. Pomyślmy jak zrobić jakiś brzydki workaround który bedzie pilnował priorytetów Ambienta na poziomie -1.

    #557
    Avatarkrashan
    Participant
    Pomyślmy jak zrobić jakiś brzydki workaround

    Najprościej chyba sobie skompilować prywatną wersję Ambienta. W końcu jest na GPL.

    #563
    edeede
    Participant

    Cóż skasowałem trochę empetrójek zainstalowałem SDK – zobaczymy hehe … a tak serio to wątpię czy intuicja i strzępki wiedzy wystarczą mi do tego zadania … Które archiwum ze źródłami Ambienta jest właściwe ? muszę skorzystać z CVS serwer-klient czy wystarczy pobrać tarball ?

    Ps. Tylko nie wiem który czy z głównej strony http://morphosambient.cvs.sourceforge.net/morphosambient/ czy z podkatalogu ?

    Tak w ogóle to chyba jednak wystarczy zmieniać priorytet wątku renderującego blendera na -2 i trochę (ale tylko trochę) bez sensu jest ten mój wywód bo i tak podgląd materiału podczas renderingu nie odświeża się niezależnie od priorytetu. Z drugiej strony super , że jak komuś coś nie pasuje w Ambiencie to sobie może zmienić.

    #568
    edeede
    Participant
    Moim osobistym zdaniem proces renderujący Blendera powinien mieć domyślnie znacznie mniejszy priorytet, na przykład -50 (dla przykładu klient dnetc ma -120).

    W zasadzie masz rację z tym, że na chwilę obecną chyba nie można ustawić na stałe (ja nie znalazłem takiej opcji) domyślnego priorytetu dla procesu renderującego Blendera. Zmienianie go TaskManagerem za każdym razem gdy jest to potrzebne specjalnie wygodne nie jest. Także tutaj nasuwa się sugestia dla autora portu Blendera.

    Z drugiej strony zaciekawiła mnie możliwość samodzielnej kompilacji Ambienta i sprawdzenia w praktyce swojej teorii. Przyszedł mi też do głowy pomysł na rozszerzenie TaskManagera o taki "profiler" który by ustawiał priorytety "niewygodnych procesów" według z góry ustalonych kryteriów przez użytkownika w momencie pojawiania się takowych na liście procesów (lub oddzielny programik do tego).

    #570
    edeede
    Participant
    Najprościej chyba sobie skompilować prywatną wersję Ambienta. W końcu jest na GPL.

    Zdaje się chyba nie tak prosto brakuje w SDK proto/cgxdither.h. Z "Legacy" kompiluje się i działa, ale dla 1.45 to jednak nie to samo.

Widok 9 wpisów - 1 z 9 (of 9 wszystkich)
  • Musisz być zalogowany aby odpowiedzieć na ten temat.