์น์ ํ๋ PixiJS ๊ฐ๋ฐ์
๊ฐ์ฅ ๋จผ์ ํ ์ผ: PixiJS์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๋ฌธ์ :
https://pixijs.github.io/bunny-mark/ ์์ ์ต์ ๋ฒ์ (4.5.1)๋ง ํด๋ฆญํ๋ฉด 18fps๋ง ๋์ต๋๋ค.
์ด ํน์ BunnyMark ์ฝ๋์ ๋ฌธ์ ์ ๋๊น?
์๋๋ฉด PixiJS ์์ค์ ๋๊น?
์๋๋ฉด ๊ธฐ๋ณธ๊ฐ 100000์ด ๋๋ฌด ๋๊ด์ ์ ๋๊น? ๋ด ๊ธฐ๊ณ๋ ๊ฝค ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ 100000๋ง๋ฆฌ์ ํ ๋ผ๊ฐ ~60fps๋ก ๋ถ๋๋ฝ๊ฒ ๋ ๊ธฐ๋ฅผ ๋ฐ๋์ต๋๋ค.
2,2GHz Intel Core i7, 16GB 1600MHz DDR3, Intel Iris Pro 1536MB.
์ด์ ๋ฒ์ ๊ณผ ๋น๊ตํ๋ฉด ์ด๋ป์ต๋๊น?
์, ๋งค์ฐ ๋๊ด์ ์ ๋๋ค. 75FPS์์ 100k ๋ค์ค ํ ์ค์ฒ ํ ๋ผ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ์คํฌํ์ ํ ๋ฒ๋ง ๋ณด์์ต๋๋ค. ์ ๋ 18๊ฐ ์์ด์ :)
๋ฉํฐ ํ ์ค์ฒ๋ง์ด ์๋ ๋ฒ์ ์ ์คํํด ๋ณด๋ ๋ฒํผ์ด ์์์ต๋๋ค.
PIXI๋ "ํ๊ท " ๊ฒ์์ ์ต์ ํ๋์ด ์์ง๋ง ๋ง์ ๋งค๊ฐ๋ณ์๊ฐ ์์ผ๋ฉฐ pixi ์ํคํ ์ฒ ์์ ์์ ๋ง์ ์ด์ต์ ํ๋ ๋ ๋๋ฌ๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค! ์ค๋๋ ๋น๋์ค ์นด๋์ ์ธํ HD์์ ์์ ์ ์ธ 30FPS๋ก 10000๋ง๋ฆฌ์ ์ ๋๋ฉ์ด์ ์ ์(๊ฐ๊ฐ ~16 ์ฟผ๋)๊ฐ ์์ต๋๋ค. ๊ทน๋จ์ ์ธ ๋จ๊ณ, ๋งค์ฐ ๋ฎ์ CPU ์ฌ์ฉ๋: https://www.youtube.com/watch?v=adixpp9CK_A . ๋ ๋ง์ ๊ฐ์ฒด๊ฐ ์ขํ๋ฅผ ๋ณ๊ฒฝํ ์๋ก ๋ ๋ง์ CPU๊ฐ ์ฌ์ฉ๋๋ฉฐ ๋ชจ๋ ๊ฒ์ด ์ถฉ๋ถํ FPS๋ก ๋ชจ๋ ํ๋ ์์ ์์ง์ด๋ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ํ๋ ๋ฌ ์์ pixi์ ํฌํฌ๋ฅผ ์ถ์ํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. :)
์ด ํฌํฌ๊ฐ ๋ง์คํฐ์ ๋ณํฉ๋์ด pixi๋ฅผ ๋ค์ ์๋ํ๊ฒ ๋ง๋ค ์ ์์ต๋๊น?
Pixi๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌ์ฑํ Ivan์ ๋งค์ฐ ์ธ์์ ์ ๋๋ค. ์ด ํฌํฌ๋ฅผ ๋ณด๊ณ ๋ฐฐ์ธ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค. :)
@jeebus3000 ์๋์, ํ๋ก๋์ ํฌํฌ๊ฐ ๋ ๊ฒ์ด๋ฉฐ pixi ๋ฐ webgl์ ๋ํ ๊น์ ์ง์์ด ํ์ํฉ๋๋ค.
์ค์ ์๊ฐ ๋ง์ ๊ฒ์ ๋๋ค.
@bigtimebuddy
์ด์ ๋ฒ์ ๊ณผ ๋น๊ตํ๋ฉด ์ด๋ป์ต๋๊น?
"v3.0.8"์ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
3.0.9, 3.0.10๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
#4023์์ ๋ณด๊ณ ๋จ.
3.0.11์์๋ 6fps๋ฅผ ์ป์ต๋๋ค.
4.0.0 ๋ฐ 4.0.1์์๋ 23-24fps๋ฅผ ์ป์ต๋๋ค.
์ฌ๊ธฐ์์ ์ง์์ ์ธ ํ๊ท๊ฐ ์์ต๋๋ค.
4.1.0 ๋ฐ 4.1.1์์๋ 20-22fps๋ฅผ ์ป์ต๋๋ค.
4.2.1์์๋ 19-20fps๋ฅผ ์ป์ต๋๋ค.
4.4.4 ๋ฐ 4.5.1์์ 16-18fps๋ฅผ ์ป์ต๋๋ค.
ํฝ์๊ฐ ๋ค์ ๋นจ๋ผ์ง๊ธธ ๋ฐ๋๋๋ค.
cc @GoodBoyDigital
@ivanpopelyshev ์ธ์์ ์ด๋ค์! ๊ทธ๋ฌ๋ ๋งค์ฐ ๋น ๋ฅด๋ ค๋ฉด ์ฌ๊ณ PixiJS๊ฐ ํ์ํฉ๋๋ค(๋ด ์ฌ์ฉ ์ฌ๋ก๋ ์ข ์ข bunnymarks์ฒ๋ผ ๋ณด์ ๋๋ค).
์๋ง๋ ์ต์ Pixi ์ฝ๋๊ฐ ์ด์ ๋ฒ์ ๋ณด๋ค ๋น ๋ฅธ์ง(๋๋ ๋ ๋น ๋ฅธ์ง) ํ์ธํ๋ ํ ์คํธ(ํญ์ ์คํ๋จ)๊ฐ ์์ ์ ์์ต๋๋ค.
๋ํ ์ฑ๋ฅ์ ๋์์ด ๋๋ ๊ฒฝ์ฐ ์์ ๋จ์ผ ํ ์ค์ฒ ํ ๋ผ๋ฅผ ์ฌ์ฉํ๋๋ก bunnymark๋ฅผ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. ๋ ํฐ/๋ค์ค ์ง๊ฐ(๊ทธ๋ฆฌ๊ณ ์ฌ์ง์ด ์ ๋๋ฉ์ด์ ์์ฒด) ํ ๋ผ๋ฅผ ์ํ ์ต์ ์ด ์์ ์ ์์ต๋๋ค(ํจ์ฌ ๋ฎ์ ๊ธฐ๋ณธ ์ ํฌํจ). (์ด ์ต์ ์ ์ฌ์ฉํ๋ ค๋ฉด ํ์ฌ ์กด์ฌํ์ง ์๋ ์ถ๊ฐ ๋ฒํผ์ด ํ์ํฉ๋๋ค.)
์ด ๋ชจ๋ ํ์๋ ๊ธฐ๋ณธ ์นด์ดํธ์ธ 100000์ด ์ฌ์ ํ ๋๋ฌด ๋๊ด์ ์ด๋ผ๋ฉด ํจ์ฌ ๋ ๋ฎ์ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋๊ตฐ๊ฐ๊ฐ PixiJS bunnymark๋ก ์ ์ก๋ ๋(๊ธฐ๋ณธ๊ฐ์ผ๋ก ์คํ๋ ๋) PixiJS๊ฐ ๋์๊ฒ ๋ณด์ด์ง ์์ ๊ฒ์ ๋๋ค. ํ์ฌ์ ๋ฎ์ ํ๋ ์ ์๋ ๋์ ์ฌ๋๋ค์ ๋ฉ์ง๊ณ ๋ถ๋๋ฌ์ด 60fps๋ฅผ ๋ณผ ์ ์์ด์ผ ํฉ๋๋ค.
@tobireif ๋น์ ์ ๊ฑฐ๊ธฐ์ ๋จ ํ๋์ ์ค์ ๋ง ์์ต๋๋ค: spriterenderer์ ํ ์ค์ฒ ์. ํ๋์ ํฐ ์ํ๋ผ์ค 4k x 4k ๋๋ 8k x 8k๋ฅผ ๋ง๋ค๋ฉด ๋ฉํฐํ ์ค์ฒ๋ณด๋ค ํจ์ฌ ๋ซ์ต๋๋ค.
์ฌ์ฉ์๊ฐ ๊ฐ์ง๊ณ ์๋ webgl ์ค์ ์ ํ ์คํธํด์ผ ํ๋ฉฐ ํด๋น ์ ๋ณด ์์ด๋ ์ต์ ํ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๋ 99%๊ฐ 4k ํ ์ค์ฒ์ ํ๋กํธ ํ ์ค์ฒ ํ๋ฌ๊ทธ์ธ์ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ผ๋ฉฐ, ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๋ง์ด ์ฌ์ฉํ์ง๋ง ๋ฐ๋๋ผ ํฝ์ ๋ ๋๋ฌ๋ ๊ทธ๋ ์ง ์์ต๋๋ค.
์ ๊ฒฝ์ฐ pixi๋ ํน์ ์์ ์ ์ ํฉํ ๋ ๋์ ๋ ๋๋ฌ๋ฅผ ์ํ ์์ฉ๊ตฌ์ ๊ฐ์ต๋๋ค.
@ivanpopelyshev
spriterenderer์ ํ ์ค์ฒ ์. ํ๋์ ํฐ ์ํ๋ผ์ค 4k x 4k ๋๋ 8k x 8k๋ฅผ ๋ง๋ค๋ฉด ๋ฉํฐํ ์ค์ฒ๋ณด๋ค ํจ์ฌ ๋ซ์ต๋๋ค.
๊ทธ๊ฒ์ด PixiJS bunnymark์์ ๊ตฌํ๋์ด์ผ ํ๋ ๊ฒ๋ณด๋ค ์ฑ๋ฅ์ ๋์์ด ๋๋ค๋ฉด, ๋ง์ต๋๊น?
๋ฒ์ 4.0.1์์ 4.5.1๋ก, PixiJS๋ ๋๋ ค์ก์ต๋๋ค. bunnymark ํ๋ ์ ์๋๋ 23-24fps์์ 16-18fps๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ๊ทธ ๋ฌธ์ ๋ ์์ ๋์ด์ผ ํ๊ณ , ์ฑ๋ฅ ํ๊ท๋ ๋ฏธ๋๋ฅผ ์ํด ๋ฐฉ์ง๋์ด์ผ ํฉ๋๋ค(์: CI ํ ์คํธ ์ฌ์ฉ).
์ ๊ฒฝ์ฐ pixi๋ ํน์ ์์ ์ ์ ํฉํ ๋ ๋์ ๋ ๋๋ฌ๋ฅผ ์ํ ์์ฉ๊ตฌ์ ๊ฐ์ต๋๋ค.
๋๋ ๋งค์ฐ ์ฑ๋ฅ์ด ์ข์ "vanilla PixiJS"๊ฐ ํ์ํ๋ฉฐ ๋ค๋ฅธ Pixi JS ์ฌ์ฉ์๋ค๋ ๋ง์ฐฌ๊ฐ์ง์ผ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์, ์ค์ ์ "texture count: "์ ๊ฐ์ ํ ์คํธ ํ๋๊ฐ ํ๋ ๋ ํ์ํฉ๋๋ค. 4.0.1-4.5.1 ์ ๊ดํด์๋ ์ฐ๋ฆฌ๊ฐ ์ต์ ํ๋ฅผ ํด์ ํ CPU ๋๋ GPU์ธ์ง ๋จผ์ ์ดํดํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@tobireif , ์ข์ ์ง์ ์ ๋๋ค! ์ฐ๋ฆฌ๋ ์๋ง๋ ๋ ๋ฎ์ ๊ณณ์์ ์์ํด์ผ ํ ๊ฒ์ ๋๋ค - ์๋ง๋ 1000? @bigtimebuddy์ ์ฌ์ด ์กฐ์ ์ ๋๊น?
์ฑ๋ฅ๊ณผ ๊ด๋ จํ์ฌ ์ฐ๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๋ง์ ์ ์ฐ์ฑ์ ๊ถ๋ ฅ๊ณผ ๊ฑฐ๋ํฉ๋๋ค. ํ์ฌ ๋ฒ์ ์ pixi์์๋ ์ ์ ์ฝํ ์ธ ์ ์ฝ๊ฐ์ ํธํฅ์ด ์์ต๋๋ค(๋๋ถ๋ถ์ ๊ฒ์ด ์์ง์ด์ง ์๋ ๊ฒฝํฅ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค!)
ํํฐํด ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด Bunnymark๊ฐ ํจ์ฌ ๋น ๋ฅด๊ฒ ์คํ๋ฉ๋๋ค. :)
ํ์ง๋ง ์ข์ ์๋ฆฌ์ ๋๋ค. ์ ๋ ํ์ฌ v5๋ฅผ ์์ ์ค์ ๋๋ค. fps๋ฅผ ๋ค์ ์ฌ๋ฆด ์ ์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค!
@ivanpopelyshev v5์์ ํ ์ค์ฒ ๋ฐ์ธ๋ฉ์ ์ด์ ๋ฐฉ์ 4.0.0์ผ๋ก ๋๋๋ ธ์ต๋๋ค(๋ง๋ฒ์ด ์ ์ - ๋์์ด๋๋ค๋ฉด ๋ฐฉํฉํฉ๋๋ค!)
@GoodBoyDigital ์ด ๋์์ด ๋ ๊ฒ์ ๋๋ค. ์ค๋งํธ ํ ์ค์ฒ ๋ฐ์ธ๋ฉ์ ๋จ์ผ ํ ์ค์ฒ์์๋ง ์๋ํ์ผ๋ฉฐ ๋ชจ๋ ๋ค์ค ํ ์ค์ฒ ์ฌ์ฉ์ ๊ณ ํต์ค๋ฌ์ ์ต๋๋ค.
์๋ ํ์ธ์, ์ฐ๋ฆฌ๋ ์ด๋ค ๋ฒ์ ์ es6์ผ๋ก ๋ณํํ์ต๋๊น? ๋๋ ๊ทธ ์ ์ค๋ฅ ์ ์กฐ๊ธ ์๋ค!
@๊ตฟ๋ณด์ด๋์งํธ
bunnymark๋ ํ ๊ฐ์ง์ ๋๋ค. Pixi๊ฐ ๋น ๋ฅด๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค์ผ ํ๊ธฐ ๋๋ฌธ์ ๋น ๋ฅธ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ (์์ค ์ฌ๋๋ค์ด ์ฐ๊ตฌํ๊ณ ๋ฐ๊พธ์ด ๋งํ ์ ์๋) ์๋ฒฝํ ์์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ๋ชจ๋ ํฉ๋ฆฌ์ ์ธ lib-user-side ์ต์ ํ๋ฅผ ๋ณด์ฌ์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ ๋ผ ์๋ ์ฌ์ ํ ์ธ์์ ์ธ ์ซ์(์: 40000 ๋๋ 50000)์ฌ์ผ ํฉ๋๋ค(์: ์ด ํฐ์ผ์ ์ธ๊ธ๋ ๊ฐ์ ์ฌํญ๊ณผ ์๋ฅผ ๋ค์ด my/Ivan์ ์ปดํจํฐ์์ Pixi ๋ฒ์ 5๋ฅผ ์ฌ์ฉํ์ฌ 60fps๋ฅผ ์ ๊ณตํ๋ ๊ฐ์ฅ ๋์ ์).
๊ทธ๋ฌ๋ bunnymark ์ฝ๋์ ๊ด๊ณ์์ด Pixi ์์ฒด๋ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋์ํ๋ ๊ฒ์ฒ๋ผ ๋งค์ฐ ๋นจ๋ผ์ผ ํฉ๋๋ค.
์ฌ๋ฌ๋ถ ๋ชจ๋๊ฐ ํ๋ฅญํ ์ฑ๊ณผ๋ฅผ ๋ฌ์ฑํ๊ณ ์ ์งํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
ํ์ฌ ๋ฒ์ ์ pixi์์๋ ์ ์ ์ฝํ ์ธ ์ ์ฝ๊ฐ์ ํธํฅ์ด ์์ต๋๋ค(๋๋ถ๋ถ์ ๊ฒ์ด ์์ง์ด์ง ์๋ ๊ฒฝํฅ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค!)
Pixi๋ฅผ ์ฌ์ฉํ ๋๋ง๋ค ๋๋ถ๋ถ์ ๋ฌผ๊ฑด์ด ์์ง์ ๋๋ค ๐
ํํฐํด ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด Bunnymark๊ฐ ํจ์ฌ ๋น ๋ฅด๊ฒ ์คํ๋ฉ๋๋ค. :)
๋ฐ๋ผ์ bunnymark ์ฝ๋๋ ํํฐํด ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ง์ฃ ?
์ ๋ ํ์ฌ v5๋ฅผ ์์ ์ค์ ๋๋ค. fps๋ฅผ ๋ฐฑ์ ํ ์ ์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค!
์์ฒญ๋! ๐
๋๋ ์ฌ๊ธฐ์ bunny-mark์ ๊ฐ์ ๋ ๋ชฉ์ ์ ๋์ํ์ง ์์ต๋๋ค. ๋ชฉํ๋ ๋ฐ๋์ 60fps๋ก ์คํ๋๋ ๊ฒ์ ํ์ํ์ง ์๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๋ฆด๋ฆฌ์ค/๊ฐ๋ฐ์ ์๋์ ์ธ ์ฑ๋ฅ์ ๋น๊ตํ๋ ๋ฐฉ๋ฒ๊ณผ ์ฐ๊ธฐ ํ ์คํธ๋ก ์ฌ์ฉํฉ๋๋ค. ๋ฒค์น๋งํน์ ์ํ ์ข์ ๋ฐฉ๋ฒ์ด ์์ ๋๊น์ง ์ด๊ฒ์ ์ฑ๋ฅ ์ํฅ์ ์ธก์ ํ๊ธฐ ์ํ ์ต์ ์ ๋๊ตฌ์ ๋๋ค. 100000 ๋ฒ๋๋ ๋ ๋๋ฌ๊ฐ ์ด๋ ค์์ ๊ฒช์ ์์น๋ก ์ค์ ๋ก ๋ฐ์ด๋ฃ๊ธฐ ์ํ ์๋์์ต๋๋ค. Pixi๊ฐ ์ผ๋ง๋ ๋น ๋ฅธ์ง ์๋ํ๊ณ ์ถ๋ค๋ฉด ์ด๊ฒ์ ์์ ์ ์ ํฉํ์ง ์์ต๋๋ค. ~Ivan~ Mat๊ฐ ์ ์ํ ๋๋ก ParticleCointainer๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌด์ธ๊ฐ๋ฅผ ์์ฑํ์ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ v4.1+์์ ์ฝ๊ฐ์ ์ฑ๋ฅ ์ ํ๊ฐ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ผ๋ฉฐ ๊ทธ ์ค ๋ง์ ๋ถ๋ถ์ด ES6์์ ์ฝ๋ ๊ธฐ๋ฐ์ ๋ค์ ์์ฑํ์ฌ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์๊ธฐ ๋๋ฌธ์ ๋๋ค. ํต์ฌ ํ์ ์์ ์ฑ๋ฅ ์ ํ๊ฐ ์ฅ๊ธฐ์ ์ผ๋ก ์ ์ถฉํ ๊ฐ์น๊ฐ ์๋ค๊ณ ๋๊ผ์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ช ๊ฐ์ง ์ ์ ์ฌํญ์ด ์์ต๋๋ค.
ํด๋น ๋ฌธ์ ๋ฅผ ์์ ํด์ผ ํ๋ฉฐ, ํฅํ ์ฑ๋ฅ ํ๊ท๋ฅผ ๋ฐฉ์งํด์ผ ํฉ๋๋ค.
๋ฌผ๋ก ์ฐ๋ฆฌ๋ ์ฑ๋ฅ ๋ฒค์น๋งํน์ ๊ฐ์ ํด์ผ ํ๋ฉฐ CI์ ํตํฉํ๋ ๊ฒ์ ํ๋ฅญํ ๊ฒ์ด๋ฉฐ ๋ฌผ๋ก Pixi๋ ๊ฐ๋ฅํ ํ ๋นจ๋ผ์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๋ํ ์ด๋ฌํ ๋งค์ฐ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๊ธฐ๊บผ์ด ์๊ฐ์ ํ ์ ํ ์ฌ๋๋ค์ด ํ์ํฉ๋๋ค. ๋ค์ํ ๋ธ๋ผ์ฐ์ /ํ๋์จ์ด์์ ์ฑ๋ฅ ๋ฒค์น๋งํฌ๋ฅผ ์ํํ ํน์ ๊ฒฝํ์ด ์๋ ์ฌ๋์ด ์๋ค๋ฉด ์ฌ๊ธฐ ๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค!
@tobireif ๋น์ ์ ์ด๋ป์ต๋๊น? ์ด ๋ถ์ผ์ ๋ํ ์ ๋ฌธ ์ง์์ด ์์ต๋๊น? ๊ฐ์ ํ ๊ธฐํ๊ฐ ๋ง์ต๋๋ค. ํ๋กํ์ ์์ฑํ๊ณ , ๋ ๋์ ํ ์คํธ๋ฅผ ๋ง๋ค๊ณ , webgl์ ์ฌ์ฉํ์ฌ CI(Travis)๋ฅผ ์ํํ๊ธฐ ์ํ ์๋ฃจ์ ์ ์ฐพ๊ณ , ์ฑ๋ฅ ์ ํ ๊ธฐ์ฌ๋ฅผ ์ฐพ๋ ์ปค๋ฐ ๊ธฐ๋ก์์ ์ด์ง ๊ฒ์์ ์ํํ๊ธฐ ์ํ PR ๋๋ ๋ ธ๋ ฅ์ ํ์ํฉ๋๋ค.
๋ํ bunnymark๊ฐ ์ฌ๋ฌ ๋ฒ์ ์ผ๋ก ์กด์ฌํ๋ค๊ณ ๋งํ๊ณ ์ถ์ง๋ง ๋ช ๋ฌ ์ ์ @bigtimebuddy ์๊ฒ ๋์์ ์์ฒญํ์ต๋๋ค. ์ ๋ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋๋ ๊ฒ์ด ๋์ฐํฉ๋๋ค :) ๊ทธ๋ ์ด๋ฏธ ๋ง์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค. ์๋ ๊ทธ๋๋ก ํ๋ณตํฉ๋๋ค.
๋๋ ํ ์ค์ฒ์ ์๊ฐ ๋ฒค์น๋งํฌ์ ์ค์ํ ์ ์ผํ ์์ ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค.
@bigtimebuddy
์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ฑ๋ฅ ์ต์ ํ์ ๋ํ ๊ฒฝํ์ด ์์ง๋ง ๋ถํํ๋ ๊ฐ๊น์ด ์ฅ๋์ Pixi์์ ์ง์ ์์ ํ ์๊ฐ์ ์ฐพ์ ์ ์์ต๋๋ค. ์ด (๋ฐ ๊ธฐํ) ๋ฌธ์ ๋ณด๊ณ ์ ํํ์ ๋ด ๊ธฐ์ฌ๊ฐ ์ฌ์ ํ ๋์ด ํ๊ฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. (์๊ฐ์ด ๊ฑธ๋ฆฌ๊ธฐ๋ ํฉ๋๋ค...)
์ด์ "pixijs.github.io/bunny-mark"๊ฐ ๊ฐ๋ฐ์ ๋ด๋ถ ์ฑ๋ฅ ํ ์คํธ๋ฅผ ์ํ ๊ฒ์์ ์ดํดํฉ๋๋ค.
๋ฐ๋ผ์ ๋๊ตฐ๊ฐ์๊ฒ PixiJS์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ฌ ์ค๋ค๋ฉด(์: ํน์ ํ๋ก์ ํธ์ ๋ํด Pixi๋ฅผ ์ถ์ฒํ ๋) ์ด ๋งํฌ๋ฅผ http://www.goodboydigital.com/pixijs/bunnymark/ ?
(๋์ https://pixijs.github.io/bunny-mark/ )
(์์ผ๋ก ์ถ๊ฐ ์ฑ๋ฅ ๋ฐ๋ชจ๊ฐ ์์ ์ ์์ง๋ง ๋๋ bunnymark๋ฅผ ์ข์ํ๊ณ ์ธ์์ ์ผ๋ก ์์
์ ์ํํฉ๋๋ค.)
(์ ์ฌ์ ์ธ lib ์ฌ์ฉ์์๊ฒ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด ์ต์ด/์ด๊ธฐ bunnymarks์ ์๋ ๋ชฉ์ ์ด์๋ค๊ณ ์๊ฐํฉ๋๋ค. GoodBoy ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ ๋ฑ์ ๊ฒ์๋์์ผ๋ฉฐ, ์ด๋ ๋จ์ง dev-internal์ด ์๋๋๋ค.)
BTW, http://www.goodboydigital.com/pixijs/bunnymark/ ๋ ParticleContainer๋ฅผ ์ฌ์ฉํ์ง๋ง ์ด์ Pixi ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค.
๋ค์ ํ ๋ฒ, ์ฌ๋ฌ๋ถ ๋ชจ๋์๊ฒ:
PixiJS์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
@๊ตฟ๋ณด์ด๋์งํธ
์ ๋ ํ์ฌ v5๋ฅผ ์์ ์ค์ ๋๋ค. fps๋ฅผ ๋ฐฑ์ ํ ์ ์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค!
์ ๋ค๋ฆฐ๋ค! ๊ธฐ๋๋ฉ๋๋ค ๐
์๋ง๋ v5 bunnymark(๊ธฐ์กด v3 bunnymark http://www.goodboydigital.com/pixijs/bunnymark_v3/ ์ ๊ฐ์ด Pixi์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ๊ฒ)๊ฐ ์์ ์ ์์ต๋๋ค.
์๋ ํ์ธ์! ๋นํ์ฑ ์ํ๋ก ์ธํด ํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ๋ซ์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ๋ค์ ์ด๋ ค๋ฉด ์ธ์ ๋ ์ง ์ ํฌ์๊ฒ ์ฐ๋ฅด์ญ์์ค. ๊ฐ์ฌํฉ๋๋ค ๐
๋ฌธ์ ์์ด์ ๐
๊ทธ๋ฌ๋ PixiJS์ ์ธ์์ ์ธ ์ ๋๋ฉ์ด์ ์ฑ๋ฅ(PixiJS-lib-developers์์ ์ฌ์ฉํ๋ smoke-test-bunnymark์ ๋ค๋ฅธ ๊ฒ)์ ๋ณด์ฌ์ฃผ๋ ์ ์ผํ ๋ชฉ์ ์ผ๋ก ๊ฐ๊ฐ์ ์ต์ ๋ฆด๋ฆฌ์ค์ ๋ํด ํญ์ bunnymark๊ฐ ์๋ค๋ฉด ์ฌ์ ํ ์ข์ ๊ฒ์ ๋๋ค. . bunnymark์ ๊ฐ์ ์ธ์์ ์ธ ์ ๋๋ฉ์ด์ ๋ฐ๋ชจ๋ฅผ ์ฐ๊ฒฐํ๋ฉด ์๋ฅผ ๋ค์ด ํธ์์์ PixiJS๋ฅผ ํ๋ณดํ ๋ ๋์์ด ๋ฉ๋๋ค. (๊ฐ๊ฐ์ ์ต์ bunnymark๋ ์ด์ bunnymarks๋ณด๋ค ๋๋ฆฌ์ง ์์์ผ ํฉ๋๋ค / ์ด์ bunnymarks์ ๊ฐ์ 60fps์์ ์ต์ํ ๋์ผํ ์์ ํ ๋ผ๋ฅผ ์ง์ํด์ผ ํฉ๋๋ค. ์๋ง๋ ParticleCointainer๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.)
์ด๊ฒ์ด PixiJS ํ๋ก์ ํธ์ ๋ฒ์ ๋ด์ ์๋ ๊ฒฝ์ฐ ๋ค์ ์ฌ์ญ์์ค(๋๋ ์์ ๋ด์ฉ์ ์ ํฐ์ผ์ ๋ถ์ฌ๋ฃ์ ์ ์์).
๋ํ ์ด ํฐ์ผ์๋ Matt Karl์ "์ผ๊ด์ฑ ์๋ ์ธก์ ์ธ Pixi์ ๋ํ ๋ฒค์น๋งํน ํ ์คํธ ๊ตฌํ"๊ณผ ๊ฐ์ ๋ค์ํ ์ค์ํ ๋ผ์ธ์ด ์์ต๋๋ค.
์ด ์ค๋ ๋๋ ๋ซํ ํ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ ๊ฒผ์ต๋๋ค. ๊ด๋ จ ๋ฒ๊ทธ์ ๋ํ ์ ๋ฌธ์ ๋ฅผ ์ฌ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ ์ฌ๊ธฐ์ bunny-mark์ ๊ฐ์ ๋ ๋ชฉ์ ์ ๋์ํ์ง ์์ต๋๋ค. ๋ชฉํ๋ ๋ฐ๋์ 60fps๋ก ์คํ๋๋ ๊ฒ์ ํ์ํ์ง ์๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๋ฆด๋ฆฌ์ค/๊ฐ๋ฐ์ ์๋์ ์ธ ์ฑ๋ฅ์ ๋น๊ตํ๋ ๋ฐฉ๋ฒ๊ณผ ์ฐ๊ธฐ ํ ์คํธ๋ก ์ฌ์ฉํฉ๋๋ค. ๋ฒค์น๋งํน์ ์ํ ์ข์ ๋ฐฉ๋ฒ์ด ์์ ๋๊น์ง ์ด๊ฒ์ ์ฑ๋ฅ ์ํฅ์ ์ธก์ ํ๊ธฐ ์ํ ์ต์ ์ ๋๊ตฌ์ ๋๋ค. 100000 ๋ฒ๋๋ ๋ ๋๋ฌ๊ฐ ์ด๋ ค์์ ๊ฒช์ ์์น๋ก ์ค์ ๋ก ๋ฐ์ด๋ฃ๊ธฐ ์ํ ์๋์์ต๋๋ค. Pixi๊ฐ ์ผ๋ง๋ ๋น ๋ฅธ์ง ์๋ํ๊ณ ์ถ๋ค๋ฉด ์ด๊ฒ์ ์์ ์ ์ ํฉํ์ง ์์ต๋๋ค. ~Ivan~ Mat๊ฐ ์ ์ํ ๋๋ก ParticleCointainer๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌด์ธ๊ฐ๋ฅผ ์์ฑํ์ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ v4.1+์์ ์ฝ๊ฐ์ ์ฑ๋ฅ ์ ํ๊ฐ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ผ๋ฉฐ ๊ทธ ์ค ๋ง์ ๋ถ๋ถ์ด ES6์์ ์ฝ๋ ๊ธฐ๋ฐ์ ๋ค์ ์์ฑํ์ฌ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์๊ธฐ ๋๋ฌธ์ ๋๋ค. ํต์ฌ ํ์ ์์ ์ฑ๋ฅ ์ ํ๊ฐ ์ฅ๊ธฐ์ ์ผ๋ก ์ ์ถฉํ ๊ฐ์น๊ฐ ์๋ค๊ณ ๋๊ผ์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ช ๊ฐ์ง ์ ์ ์ฌํญ์ด ์์ต๋๋ค.