Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Applet ja suoritinkäyttö

jumitusta [12.09.2010 01:14:31]

#

Onko normaalia että kun ajan tekemääni Appletti peliä Eclipsen runilla, niin suoritinkäyttö on noin 20%, mutta kun ajan saman Appletin selaimessa, on suoritinkäyttö noin 50%?

Ja vaatiiko Appletti enemmän suoritintehoo kun "normi"-sovellus, jos ne tekee suunnilleen samat jutut? Kun en muutenkaan ymmärrä miten pelini voi viedä niin paljon tehoo, vaikka siinä jokusen verran laskettavaa onkin, mutta ei kai ne ole mitään verrattuna "oikeisiin" peleihin...

edit: katsoin että kun eclipsellä ajan peliä, niin javaw.exe vie noin 8% tehoa(java.exe ei päällä) ja kun ajan firefoxilla peliä, niin java.exe vie noin 40% tehoa(javaw.exe 0%).

jumitusta [12.09.2010 09:42:33]

#

edit2: testailin tässä ja tajusin että en oppinut viimepostauksestani, eli tehoa vei tuossa se että kutsuin eri JPaneleille kaikille repaintin, kun näköjään yksi repaintti riittää ja se painttaa kaikki uudestaan. Jokaisen JPanelin repaintin kutsu repainttasi kaikki JPanelit, eli kaikki piirrettiin uudestaan joku 5 kertaa, kun 1 riittää.

Mutta edelleen ihmettelen kun eclipsellä ajaa, niin nyt java.exe vie noin 4% tehoa, mutta firefoxilla javaw.exe noin 20% tehoa. Mistä tuo ero johtuu ja voiko sille jotain tehdä?

Jtm [14.09.2010 00:41:53]

#

[mututuntumaa] Ehkä Eclipse käskee Java virtuaalikoneen piirtää grafiikat hardwarella (näyttis) ja Firefox softwarella (prossu). Ymmärtääkseni vasta IE9 on ensimmäinen selain, jossa piirto tehtäisiin hardwarena eli näytönohjainta hyödyntämällä. Oikaskoon joku viisaampi kertomani. [/mututuntumaa]

Metabolix [14.09.2010 00:44:30]

#

Tuo mainittu IE9:n laitteistokiihdytys koskee vain HTML-sisällön renderöintiä, Javan pitäisi toimia samalla tavalla selaimesta riippumatta.

Oletko tutkinut, miten usein ruutu päivittyy?

jumitusta [14.09.2010 13:54:11]

#

Muutin saman pelini AWT:ksi(ennen Swingillä toteutettu). Nyt java vie sekä eclipsessä että selaimessa noin 20% tehoa. Pitää ehkä koittaa tota ruudun päivitysjuttua tässä jossain kohtaa...kiitos vinkistä.

edit: Koitin tota AWT peliä ja se päivitti ruudun noin 30 kertaa sekunnissa. Threadin sleep time on 33ms, eli ei se paljoo viivyttele kai sitten.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta