<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Komentarze do: Optymalizacja obiektu canvas</title>
	<atom:link href="http://srodek.info/blog/370/optymalizacja-obiektu-canvas/feed" rel="self" type="application/rss+xml" />
	<link>http://srodek.info/blog/370/optymalizacja-obiektu-canvas</link>
	<description>Mój osobisty blog</description>
	<lastBuildDate>Wed, 21 Sep 2011 12:05:49 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Autor: luq</title>
		<link>http://srodek.info/blog/370/optymalizacja-obiektu-canvas/comment-page-1#comment-382</link>
		<dc:creator>luq</dc:creator>
		<pubDate>Sun, 11 Jul 2010 15:48:42 +0000</pubDate>
		<guid isPermaLink="false">http://srodek.info/?p=370#comment-382</guid>
		<description>No dokładnie, pod jQuery też często takie &quot;cuda&quot; trzeba robić :)

Ups... Widocznie chochliki pozmieniały treść pakietów idących tuż po kliknięciu &quot;Wyślij komentarz&quot; :D

Dzięki za blo­grollowanie mojego bloga :) U siebie zrobiłem to samo ;]</description>
		<content:encoded><![CDATA[<p>No dokładnie, pod jQuery też często takie „cuda“ trzeba robić <img src='http://srodek.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ups… Widocznie chochliki pozmieniały treść pakietów idących tuż po kliknięciu „Wyślij komentarz“ <img src='http://srodek.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Dzięki za blo­grollowanie mojego bloga <img src='http://srodek.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  U siebie zrobiłem to samo ;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Michał Środek</title>
		<link>http://srodek.info/blog/370/optymalizacja-obiektu-canvas/comment-page-1#comment-381</link>
		<dc:creator>Michał Środek</dc:creator>
		<pubDate>Sun, 11 Jul 2010 10:51:18 +0000</pubDate>
		<guid isPermaLink="false">http://srodek.info/?p=370#comment-381</guid>
		<description>1. Rozumiem o co chodzi. Używam bardzo często identycznej konstrukcji gdy piszę pod jQuery tj.
var $$ = $(this);

PS: zapomniałeś zamienić jedno GameBoard ;)
img.onload = function() {
thisInstance.textures[i] = thisInstance.ctx.createPattern(img, ‚repeat’);
(…)
}

2. Wiem widziałem. Ciekawe artykuły. Dorzuciłem Cię nawet do blogrolla ;).</description>
		<content:encoded><![CDATA[<p>1. Rozumiem o co chodzi. Używam bardzo często identycznej konstrukcji gdy piszę pod jQuery tj.<br />
var $$ = $(this);</p>
<p>PS: zapomniałeś zamienić jedno GameBoard <img src='http://srodek.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
img.onload = function() {<br />
thisInstance.textures[i] = thisInstance.ctx.createPattern(img, ‚repeat’);<br />
(…)<br />
}</p>
<p>2. Wiem widziałem. Ciekawe artykuły. Dorzuciłem Cię nawet do blogrolla <img src='http://srodek.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: luq</title>
		<link>http://srodek.info/blog/370/optymalizacja-obiektu-canvas/comment-page-1#comment-380</link>
		<dc:creator>luq</dc:creator>
		<pubDate>Sun, 11 Jul 2010 08:40:26 +0000</pubDate>
		<guid isPermaLink="false">http://srodek.info/?p=370#comment-380</guid>
		<description>1. No właśnie można :) Albo this albo używasz zmiennej, która jest wskaźnikiem na to co pokazywał this wcześniej:

var GameBoard = {
	preloadTextures: function(i){
		(...)
		var thisInstance = this;
		
		img.onload = function() {
			thisInstance.textures[i] = GameBoard.ctx.createPattern(img, &#039;repeat&#039;);
			(...)
		}
	},
	(...)
}

2. Tak, tak, rozumiem. Wiem jak to jest bo sam teraz na swoim blogu pisze, w sumie coś podobnego, i mój kod też ewoluuje z każdym wpisem :]

Owocnego kodzenia! ;)</description>
		<content:encoded><![CDATA[<p>1. No właśnie można <img src='http://srodek.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Albo this albo używasz zmiennej, która jest wskaźnikiem na to co pokazywał this wcześniej:</p>
<p>var GameBoard = {<br />
	preloadTextures: function(i){<br />
		(…)<br />
		var thisInstance = this;</p>
<p>		img.onload = function() {<br />
			thisInstance.textures[i] = GameBoard.ctx.createPattern(img, ‚repeat’);<br />
			(…)<br />
		}<br />
	},<br />
	(…)<br />
}</p>
<p>2. Tak, tak, rozumiem. Wiem jak to jest bo sam teraz na swoim blogu pisze, w sumie coś podobnego, i mój kod też ewoluuje z każdym wpisem :]</p>
<p>Owocnego kodzenia! <img src='http://srodek.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Michał Środek</title>
		<link>http://srodek.info/blog/370/optymalizacja-obiektu-canvas/comment-page-1#comment-378</link>
		<dc:creator>Michał Środek</dc:creator>
		<pubDate>Sat, 10 Jul 2010 17:24:23 +0000</pubDate>
		<guid isPermaLink="false">http://srodek.info/?p=370#comment-378</guid>
		<description>Dziękuje luq za konkretny komentarz :)

1. Nie zawsze można użyć this. Wtedy po prostu stosuję nazwę obiektu

2. Po prostu nie przewidziałem, że ktoś będzie chciał uruchomić 2 gry na jednej stronie. Operacje związane z canvasem i tak zżerają ogromną ilość zasobów. Kilka gier obok siebie po prostu by wolno działało. Co do ogólnej budowy klas obiektów, wzorców etc. - wszystko będzie powoli wymieniane/poprawiane. Ja nie mam napisanej całej gry. Piszę ją na bieżąco tworząc kolejne artykuły. W każdym razie dziękuję za uwagi. Na pewno się dostosuję ;).

PS: zawszę mogę zrobić jeden wielki pojemnik - klasę Game i w ten sposób tworzyć kolejne instancje gry ;). Problemem jednak będzie zdecydowanie obsługa zdarzeń itp. Imho strasznie dużo zachodu.</description>
		<content:encoded><![CDATA[<p>Dziękuje luq za konkretny komentarz <img src='http://srodek.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>1. Nie zawsze można użyć this. Wtedy po prostu stosuję nazwę obiektu</p>
<p>2. Po prostu nie przewidziałem, że ktoś będzie chciał uruchomić 2 gry na jednej stronie. Operacje związane z canvasem i tak zżerają ogromną ilość zasobów. Kilka gier obok siebie po prostu by wolno działało. Co do ogólnej budowy klas obiektów, wzorców etc. — wszystko będzie powoli wymieniane/poprawiane. Ja nie mam napisanej całej gry. Piszę ją na bieżąco tworząc kolejne artykuły. W każdym razie dziękuję za uwagi. Na pewno się dostosuję <img src='http://srodek.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>PS: zawszę mogę zrobić jeden wielki pojemnik — klasę Game i w ten sposób tworzyć kolejne instancje gry <img src='http://srodek.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Problemem jednak będzie zdecydowanie obsługa zdarzeń itp. Imho strasznie dużo zachodu.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: luq</title>
		<link>http://srodek.info/blog/370/optymalizacja-obiektu-canvas/comment-page-1#comment-377</link>
		<dc:creator>luq</dc:creator>
		<pubDate>Sat, 10 Jul 2010 17:15:43 +0000</pubDate>
		<guid isPermaLink="false">http://srodek.info/?p=370#comment-377</guid>
		<description>Wszystko fajnie tylko mnie kolą w oczy 2 sprawy.

Po pierwsze raz używasz this a raz nazwy zmiennej obiektu, utrudnia to trochę analizę kodu. Ofc. w niektórych przypadkach sama zamiana nazwy zmiennej na &quot;this&quot; nie pomoże, np. metoda preloadTextures z GameBoard i funkcja zdarzenie load obrazka. Należałoby zapisać kontekst this przed funkcją zdarzenia i z tego w jej wnętrzu korzystać (btw. trochę to męczące i szczerze nie podoba mi się takie rozwiązanie ale innego/lepszego nie znam). Ot taka pierdoła, ale myślę, że warto to poprawić.

Po drugie, już bardziej znaczące, dlaczego nie definiujesz klas tylko gołe obiekty, które są singletonami? Ograniczasz w ten sposób funkcjonalność, bo nie będzie można stworzyć dwóch gier na jednej stronie. Dość absurdalny przykład ale jednak taka możliwość imho powinna być. A czołgi sterowane przez komputer? Powinna być klasa Tank, a GameTank powinna być obiektem tejże klasy czy tam nawet Tank powinien być klasą abstrakcyjną i po niej dziedziczą ComputerTank oraz HumanTank... Tak trochę nie z duchem OOP.

Natomiast patrząc od end-usera efekt jest bardzo fajny ;)</description>
		<content:encoded><![CDATA[<p>Wszystko fajnie tylko mnie kolą w oczy 2 sprawy.</p>
<p>Po pierwsze raz używasz this a raz nazwy zmiennej obiektu, utrudnia to trochę analizę kodu. Ofc. w niektórych przypadkach sama zamiana nazwy zmiennej na „this“ nie pomoże, np. metoda preloadTextures z GameBoard i funkcja zdarzenie load obrazka. Należałoby zapisać kontekst this przed funkcją zdarzenia i z tego w jej wnętrzu korzystać (btw. trochę to męczące i szczerze nie podoba mi się takie rozwiązanie ale innego/lepszego nie znam). Ot taka pierdoła, ale myślę, że warto to poprawić.</p>
<p>Po drugie, już bardziej znaczące, dlaczego nie definiujesz klas tylko gołe obiekty, które są singletonami? Ograniczasz w ten sposób funkcjonalność, bo nie będzie można stworzyć dwóch gier na jednej stronie. Dość absurdalny przykład ale jednak taka możliwość imho powinna być. A czołgi sterowane przez komputer? Powinna być klasa Tank, a GameTank powinna być obiektem tejże klasy czy tam nawet Tank powinien być klasą abstrakcyjną i po niej dziedziczą ComputerTank oraz HumanTank… Tak trochę nie z duchem OOP.</p>
<p>Natomiast patrząc od end-usera efekt jest bardzo fajny <img src='http://srodek.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: cypherq</title>
		<link>http://srodek.info/blog/370/optymalizacja-obiektu-canvas/comment-page-1#comment-355</link>
		<dc:creator>cypherq</dc:creator>
		<pubDate>Wed, 07 Jul 2010 17:23:43 +0000</pubDate>
		<guid isPermaLink="false">http://srodek.info/?p=370#comment-355</guid>
		<description>Dziwne, u mnie wiecej niż 50 - 55 nie może urodzić na deweloperskim chromie.</description>
		<content:encoded><![CDATA[<p>Dziwne, u mnie wiecej niż 50 — 55 nie może urodzić na deweloperskim chromie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Oskar Wójcicki</title>
		<link>http://srodek.info/blog/370/optymalizacja-obiektu-canvas/comment-page-1#comment-345</link>
		<dc:creator>Oskar Wójcicki</dc:creator>
		<pubDate>Wed, 07 Jul 2010 08:17:23 +0000</pubDate>
		<guid isPermaLink="false">http://srodek.info/?p=370#comment-345</guid>
		<description>Lepiej niż ostatnio. Wcześniej na najnowszym FF miałem ok. 66-72 FPS, teraz jest to 80-90. Na Chrome podobnie.</description>
		<content:encoded><![CDATA[<p>Lepiej niż ostatnio. Wcześniej na najnowszym FF miałem ok. 66–72 FPS, teraz jest to 80–90. Na Chrome podobnie.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

