Article View: pl.comp.lang.java
Article #154126Re: [n00b] reczne sterowanie gc
From: Arivald
Date: Tue, 20 Jan 2015 19:29
Date: Tue, 20 Jan 2015 19:29
50 lines
3484 bytes
3484 bytes
On 2015-01-20 15:23, obi wan firthe kenobi wrote: > W dniu sobota, 17 stycznia 2015 00:43:56 UTC+1 użytkownik J-23 napisał: >> W dniu 16.01.2015 o 19:18, obi wan firthe kenobi pisze: >>> W dniu piątek, 16 stycznia 2015 01:32:19 UTC+1 użytkownik J-23 napisał: >>>> W dniu 12.01.2015 o 19:23, obi wan firthe kenobi pisze: >>>>> jesli pisze sie aplikacje ktore dzialają >>>>> w 'systemie ramkowym' (by tak to nazwac) >>>>> np 50 fps, to przydaloby sie zeby te >>>>> kosztowniejsze operacje garbage collectora >>>>> nie wykonywaly sie jakos losowo tylko by np mozna wywolywac je pod koniec bloku kodu dla danej >>>>> ramki (i by zablokowac je wczesniej tj dla czasu >>>>> ramki) >>>>> >>>>> czy da sie cos takiego zrobic w javie? (tj kontrolowac recznie kiedy to ma sie wykonac)? >>>>> >>>> >>>> Nie da się tego tak zrobić że oznaczysz (Tutaj nie wykonujemy GC) >>>> >>>> Da się natomiast tym odpowiednio sterować tylko temat jest bardzo >>>> głęboki a ty podałeś bardzo mało danych >>>> >>> to jest w sumie odpowiedz + tez mi sie tak zdawalo, wnikac w temat nie mam czasu >>> >> >> >> Ale zauważ że jak podczas przetwarzania grafiki ci się włacza GC a ty >> tego nie chcesz :) to jest coś źle zaprojektowane >> > normalnie w takiej aplikacji jaka mam na mysli generuje sie sie ramke (i wtedy gc nie powinien sie wlaczac bo bylaby kaszana) po czym wywoluje sie sleep() - ten sleep nie trwa dlugo i nie wiem czy cos takiego jest w javie - ale na przyklad wtwdy gc moglby robic sobie kawalki tej roboty > K@%@a kombinujesz aż mnie zęby bolą... Po prostu na końcu ramki, jak już masz wszystko policzone, to wywołaj GC przy pomocy "System.gc()". Dzięki temu GC co może to wyczyści w czasie kiedy Twój program i tak czeka do początku następnej ramki. Nie gwarantuje Ci to że GC się nie odpali w trakcie ramki, ale znaczni obniża prawdopodobieństwo. Usiłuję Ci to od początku przekazać, a ty jak muł opierasz się, i w zamian kombinujesz jakieś niestworzone rzeczy... Kolejny czynnik to dostępność ramu - jeśli jest go więcej niż potrzeba na obliczenia w jednej ramce, to (zakładając wołanie GC na koniec ramki) GC się nie odpali w trakcie ramki, bo nie ma po co. -- Arivald
Technical Details
Message-ID:
<m9mbjs$vtl$1@mx1.internetia.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed2.plix.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mailReferences:
<3e23ba88-4245-46fe-89c1-89b50c2d9444@googlegroups.com> <m99m6h$q81$1@node2.news.atman.pl> <37d9af98-56dc-4c71-9c9b-5903cda7d0c8@googlegroups.com> <m9c7nq$gv8$1@node1.news.atman.pl> <3cbd36b5-eddb-4241-a73c-72517528e593@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed2.plix.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail From: Arivald <NOSPAMarivald@interia.pl> Newsgroups: pl.comp.lang.java Subject: Re: [n00b] reczne sterowanie gc Date: Tue, 20 Jan 2015 20:29:52 +0100 Organization: Netia S.A. Lines: 51 Message-ID: <m9mbjs$vtl$1@mx1.internetia.pl> References: <3e23ba88-4245-46fe-89c1-89b50c2d9444@googlegroups.com> <m99m6h$q81$1@node2.news.atman.pl> <37d9af98-56dc-4c71-9c9b-5903cda7d0c8@googlegroups.com> <m9c7nq$gv8$1@node1.news.atman.pl> <3cbd36b5-eddb-4241-a73c-72517528e593@googlegroups.com> NNTP-Posting-Host: dynamic-62-87-247-136.ssp.dialog.net.pl Mime-Version: 1.0 X-Trace: mx1.internetia.pl 1421783484 32693 62.87.247.136 (20 Jan 2015 19:51:24 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Tue, 20 Jan 2015 19:51:24 +0000 (UTC) In-Reply-To: <3cbd36b5-eddb-4241-a73c-72517528e593@googlegroups.com> X-Tech-Contact: usenet@internetia.pl User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Thunderbird/34.0 X-Server-Info: http://www.internetia.pl/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit