Godot: ๊ฐ„๋‹จํ•œ 2D ๊ฒŒ์ž„์—์„œ ์‹ฌํ•œ ๋Š๊น€ ๋ฌธ์ œ [Windows 10, Nvidia]

์— ๋งŒ๋“  2018๋…„ 06์›” 26์ผ  ยท  145์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: godotengine/godot

Godot ๋ฒ„์ „ :
Godot 3.1-dev / Godot 2.X

๋ฒ„์ „์„ ํฌํ•จํ•œ OS / ์žฅ์น˜ :
PC-Windows 10, GeForce GTX 1060 6GB, 16GB RAM.

๋ฌธ์ œ ์„ค๋ช… :
2D ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ์ด๋™ํ•  ๋•Œ ๋Š๊น€ / ๋–จ๋ฆผ. 2 ๋Œ€์˜ ์ปดํ“จํ„ฐ (nvidia ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ, ์œ„์˜ ์นด๋“œ ๋ฐ ๋žฉํ†ฑ ํฌํ•จ)์—์„œ ์žฌํ˜„ ํ•œ ๋‚ด ์นœ๊ตฌ๋„์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„ :
๋ฌธ์„œ์—์„œ ๋งŒ๋“ค ์ˆ˜์žˆ๋Š” "์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ"๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด ํŠœํ† ๋ฆฌ์–ผ์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ ํ”Œ๋ ˆ์ด์–ด ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ๋‹ค๋ฅธ ๊ฒƒ์€์—†๋Š” ๊ฒƒ์œผ๋กœ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์‹คํ–‰ํ•˜๋ฉด. 60FPS๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒŒ์ž„๊ณผ ๋˜‘๊ฐ™์€ ๋ง๋”๋“ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์›€์ง์ž„์ด ๋ถ€๋“œ๋Ÿฝ ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๊ฐœ๋ฐœ์ž์™€ ํ˜‘๋ ฅํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ํ…Œ์ŠคํŠธ (ํŽธ์ง‘๊ธฐ์—์„œ ์‹คํ–‰, ๋””๋ฒ„๊ทธ ๋ชจ๋“œ์—†์ด ์ปดํŒŒ์ผ ํ›„ ์‹คํ–‰ ๋“ฑ ...ํ•˜์ง€๋งŒ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‚ญ์ œํ•˜๋ฉด ๋ชจ๋‘ ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ถ”์‹  : ๋ฌผ๋ฆฌ์  ๋™์ž‘์ด ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๋”๋“ฌ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค (์ถฉ๋Œ์ด์žˆ๋Š” ์šด๋™ํ•™ ๋ฐ Area2D ๋…ธ๋“œ๋กœ ์‹œ๋„). ์ถฉ๋Œ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  Area2D๋ฅผ ๊ฐ„๋‹จํ•œ node2D๋กœ ๊ต์ฒดํ•˜๋ฉด ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (ํ”Œ๋ ˆ์ด์–ด์—์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์žฌ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ).

์ตœ์†Œ ์žฌ์ƒ์‚ฐ ํ”„๋กœ์ ํŠธ :
๋‹ค์Œ์€ ์ตœ์†Œํ•œ์˜ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค (๋ฌธ์„œ์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์ž„ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค). ์‹คํ–‰ํ•˜๋ฉด ๋ง๋”๋“ฌ์ด ์ƒ๊น๋‹ˆ๋‹ค. ํ”Œ๋ ˆ์ด์–ด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‚ญ์ œํ•˜๋ฉด ๋” ์ด์ƒ ๋ง๋”๋“ฌ์ด ์—†์Šต๋‹ˆ๋‹ค.
FirstGame.zip

bug windows core

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด ๋ฌธ์ œ๊ฐ€ godot๊ณผ ์ง์ ‘์ ์œผ๋กœ ๊ด€๋ จ์ด์žˆ์„ ์ˆ˜๋Š” ์—†์ง€๋งŒ godot์€ ์ž˜ ๋ง๋”๋“ฌ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—์„œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ชจ๋“  ๊ฒŒ์ž„์ด ๋”๋“ฌ ๊ฑฐ๋ฆฌ๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ด ์•„๋‹™๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๋‚˜๋Š” n ++, ์ „์ฒด ํ™”๋ฉด, ์ฐฝ, ์–ด๋–ค ๋Š๊น€๋„ ๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ .. ์ „ํ˜€ ๋Š๊น€์ด ์—†์Šต๋‹ˆ๋‹ค. Ori์™€ ๋ธ”๋ผ์ธ๋“œ ํฌ๋ ˆ์ŠคํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ,์ด ๊ฒŒ์ž„์—์„œ ๋ง๋”๋“ฌ์ด ๋ฐœ์ƒํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋งŽ์€ ๋‚˜์œ ์ผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค (๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ•จ๊ป˜ ์ฐฝ ๋“ฑ ... ๊ทธ๋ฆฌ๊ณ  ํ•œ ์‹œ๊ฐ„์— 2 ~ 3 ํ”„๋ ˆ์ž„ ์Šคํ‚ต ...). Godot๋Š” ์‹คํ–‰์„ ์‹œ์ž‘ํ•  ๋•Œ ํ•ญ์ƒ x ์ดˆ ๋™์•ˆ ๋Š๊ธฐ๊ณ  ๋‚˜์ค‘์— ์•ˆ์ •ํ™”๋˜์ง€๋งŒ X ์ดˆ๋งˆ๋‹ค ํ”„๋ ˆ์ž„ ์Šคํ‚ต์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (๋ฌผ๋ก  gtx1060์˜ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋ฉด). ์ด ๋ฌธ์ œ๋ฅผ ์‚ฌ์†Œํ•œ ๋ฌธ์ œ๋กœ ์ทจ๊ธ‰ํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  145 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”. ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ (์ง‘)์—์„œ ํ…Œ์ŠคํŠธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๊ณ ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์œผ๋ฉฐ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋…ธํŠธ๋ถ์—์žˆ๋Š” ๊ฒƒ์„ ๋ณด์•˜์„ ๋•Œ ํ™”๋ฉด์ด ์ž‘๊ธฐ ๋•Œ๋ฌธ์— ๋ฏฟ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋™์˜์ƒ์ž…๋‹ˆ๋‹ค (๋™์˜์ƒ์€ 60FPS).
GodotStutter.zip

๋น„๋””์˜ค๊ฐ€ ํ™”๋ฉด์—์žˆ๋Š” ๋‚ด์šฉ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•œ ๊ฒฝ์šฐ ์—ฌ๊ธฐ์—์„œ ๋ง๋”๋“ฌ ๊ด€๋ จ ๋ฌธ์ œ์—์„œ ์–ธ๊ธ‰ ํ•œ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋งŽ์ด ๋ง๋”๋“ฌ์ž…๋‹ˆ๋‹ค. ์ด Windows 10 / GTX 1060 ์„ค์ •์— ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค (Windows 10 / Nvidia์˜ ์ฃผ์š” Windows ์—…๋ฐ์ดํŠธ ํ›„ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋Š” ์ธํ„ฐ๋„ท ๊ธฐ์‚ฌ๋ฅผ ๋งŽ์ด ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ด€๋ จ ์—ฌ๋ถ€๋Š” ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค).

๋‹ค์Œ์€ ๋‚ด ์‹œ์Šคํ…œ์˜ ํ…Œ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ์ธ Mageia 6 x86_64 (Linux), Nvidia GTX 670MX (์ตœ์‹  ๋…์  ๋“œ๋ผ์ด๋ฒ„ (390.59))์˜ ๋น„๋””์˜ค์ž…๋‹ˆ๋‹ค. ์ „ํ˜€ ๋Š๊น€์ด ์—†์Šต๋‹ˆ๋‹ค.
StutterTest_LinuxNvidia_OK.zip

BTW ์—ฌ๊ธฐ์— ๋ฐ๋ชจ ํ”„๋กœ์ ํŠธ firstGame_fixed.zip ์˜ ๊ณ ์ • ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์›๋ณธ ํŒŒ์ผ์€ ์–ด๋–ป๊ฒŒ ๋“  3 ๊ฐœ์˜ ๋‹ค๋ฅธ ํด๋” ( "firstgame", "firstGame"๋ฐ "FirstGame")๋กœ ๋ถ„ํ• ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒŒ์ž„์€ ๋น„๋””์˜ค์—์„œ์™€ ๊ฐ™์€ ์–‘์˜ ๋ง๋”๋“ฌ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ vsync๋ฅผ ๋„๋ฉด ๋Š๊น€ ํ˜„์ƒ์ด ์™„์ „ํžˆ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค (ํ•˜์ง€๋งŒ ๊ฒŒ์ž„์€ 4000fps๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค).
Windows 10 64 ๋น„ํŠธ nVidia GTX 1060๋„ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ @Zylann์ด ์—ฌ๊ธฐ์—์„œ ์ œ์•ˆํ•œ๋Œ€๋กœ ํ…Œ์ŠคํŠธํ–ˆ๊ณ  ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋„ Win10 x64์™€ nVidia GTX 1060์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ : nVidia์—์„œ ๋‹ค์Œ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
398.11-desktop-win10-64bit-international-whql

Win 7 64 ๋น„ํŠธ GLES2 ๋ฐ GLES3 ํ…Œ์ŠคํŠธ, GeForce GTX 660 / PCIe / SSE2 ... ๋Š๊น€์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ๋’ค์—์„œ godot์˜ 2d ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Aero๋ฅผ ์ผœ๋ฉด ์•ฝ๊ฐ„์˜ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (Godot ํŽธ์ง‘๊ธฐ ๋ Œ๋”๋ง์ด ๊ฒŒ์ž„ ๋ Œ๋”๋ง์„ ๋ฐฉํ•ด ํ•จ).

๊ทธ๋Ÿฌ๋‚˜ Godot ๋ง๋”๋“ฌ์€ ๊ฑฐ๋Œ€ํ•œ ๋ณด์ด์ง€ ์•Š๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๋ชจ๋‘๋Š” ๊ทธ๊ฒƒ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ํ•ด๊ฒฐ์ฑ…์ด ๊ฐ„๋‹จํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ๋ฌธ์ œ๋Š” ๋ชจ๋‹ˆํ„ฐ ์ƒˆ๋กœ ๊ณ ์นจ ๋นˆ๋„๊ฐ€์žˆ๋Š” ๋‹ค๋ฅธ ๋ฌผ๋ฆฌ ๊ณ ์ • fps์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ํŽธ์ง‘๊ธฐ๊ฐ€ ๋ฌผ๋ฆฌ fps๋ฅผ ๊ตฌ์„ฑ ํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ hz๊ฐ€์—†๋Š” ๋ชจ๋‹ˆํ„ฐ์—์„œ ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ๋Š๊น€์ด ๋ณด์ด์ง€๋งŒ ๋‹ค๋ฅธ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ๋ฌธ์ œ๋Š” ๋ชจ๋‹ˆํ„ฐ ์ƒˆ๋กœ ๊ณ ์นจ ๋นˆ๋„์™€ ๋‹ค๋ฅธ ๋ฌผ๋ฆฌ์  ๊ณ ์ • fps์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

๋ฐ๋ชจ๋Š” ๋ฌผ๋ฆฌํ•™์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœํ•œ _process ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์‹ค ... ๋‚˜๋Š”์ด ๊ฒฝ์šฐ์— ์‹ฌํ•œ ๋ง๋”๋“ฌ ๋งŒ ๋ณด์ธ๋‹ค๊ณ  ๋งํ•˜์ง€๋งŒ, ๊ด€๋ จ๋œ ๋ฌผ๋ฆฌ ๊ณผ์ •์ด ์—†๋‹ค๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ด๋‹ค. ๋‚˜๋Š” ๋ชจ๋‹ˆํ„ฐ ์ค‘ ํ•˜๋‚˜์˜ hz ๋ณ€๊ฒฝ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ฐจ์ด๊ฐ€ ์—†์œผ๋ฉฐ ๋‚ด ์žฅ๋น„์—์„œ ๋Š๊น€์ด ์—†์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ : ๋‚˜๋Š”์ด ์ปดํ“จํ„ฐ์—์„œ ์Šน๋ฆฌ 7, ์Šน๋ฆฌ 8.1, ์Šน๋ฆฌ 10์„ ์–ป์—ˆ๊ณ  ๋ชจ๋“  ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ํ• ์• ํ–ˆ์Šต๋‹ˆ๋‹ค. ์Šน๋ฆฌ 8.1์—์„œ ๋ง๋”๋“ฌ์ด ์—†์Œ. ๋‚˜๋Š” ์ง€๊ธˆ win 10์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋งค์šฐ ๋ถ€๋“œ๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์œˆ๋„์šฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Godot๋Š” ๋‹น์‹ ์˜ 1060์— ํ™”๊ฐ€ ๋‚ฌ์Šต๋‹ˆ๊นŒ?

์—ฌ๊ธฐ ๋‚ด ๋…ธํŠธ๋ถ์œผ๋กœ ๋™์ผํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด์‹œ๋‹ค์‹œํ”ผ ๋ฌธ์ œ๋„ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ๋œ ๋ˆˆ์— ๋„์ง€ ๋งŒ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋…ธํŠธ๋ถ ์‚ฌ์–‘ : Windows 10-Geforce 940M

๋‹ค์Œ์€ ๋…ธํŠธ๋ถ ๋น„๋””์˜ค์ž…๋‹ˆ๋‹ค (60FPS ๋น„๋””์˜ค์ž…๋‹ˆ๋‹ค).
GodotStutterLap.zip

๋Š๊น€ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ์‚ฌ๋žŒ์ด _physics_process๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Player.gd _process์—์„œ ๋ฐ๋ชจ ๋ณ€๊ฒฝ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์˜ค๋Š˜ ์ €๋… ๋‚ด ์ง‘ PC์—์„œ ํ…Œ์ŠคํŠธ ํ•  ๊ฒƒ์ด๋‹ค. ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ํ•ญ์ƒ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ณณ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด์ƒํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์•„์นจ์— ์ œ ๋…ธํŠธ๋ถ์œผ๋กœ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋น„๋””์˜ค๋ฅผ ์ œ๊ณตํ–ˆ๋Š”๋ฐ ๋ณด์‹œ๋‹ค์‹œํ”ผ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ๋ง๋”๋“ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ด์ œ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ๋ฌด์ž‘์œ„์ฒ˜๋Ÿผ ๋‹ค์‹œ ๋ง๋”๋“ฌ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋žฉํ†ฑ์—์„œ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ ์•„์นจ ๋‚ด๋‚ด TSE ์„ธ์…˜์—์„œ ์ž‘์—…ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฝ๊ณ  : ๋‚˜๋Š” ๋‚ด ๋…ธํŠธ๋ถ์— ๋Œ€ํ•ด์„œ๋งŒ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. GTX 1060์ด ์„ค์น˜๋œ ๊ฐ€์ •์šฉ PC์—์„œ ๋ฌธ์ œ๋Š” ํ•ญ์ƒ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด ๋žฉํ†ฑ์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฌด์ž‘์œ„๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ง€๊ธˆ์€ ํ…Œ์ŠคํŠธ ๋ชฉ์ ์œผ๋กœ ๋žฉํ†ฑ์„ ์˜†์—๋‘๊ณ  "๋ฒ„๊ทธ"๋ฅผ ๊ฒฉ๋ฆฌ ํ•  ์ˆ˜ โ€‹โ€‹์žˆ๋„๋ก ํ•ญ์ƒ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฐ€์ •์šฉ PC์—์„œ๋งŒ ํ…Œ์ŠคํŠธ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@Ranoller ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ–ˆ๊ณ  ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ๋ง๋”๋“ฌ์ด ์—ฌ์ „ํžˆ ์žˆ๊ณ  ๊ฑฐ์˜ ๋™์ผํ•˜๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค.

@Ranoller ๋Š” ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” @RaXaR ๊ณผ ๋™์ผํ•œ ํ…Œ์ŠคํŠธ๋ฅผํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฑฐ ์ž˜ ์•ˆ ๋ณด์ด๋„ค์š” ....

๋ฒ„๊ทธ๋ฅผ ์ •ํ™•ํžˆ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด์ด ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

1) ์ „์ฒด ํ™”๋ฉด ์ผœ๊ธฐ / ๋„๊ธฐ
2) ๋ชจ๋‹ˆํ„ฐ๊ฐ€ 2 ๋Œ€ ์ด์ƒ์ธ ๊ฒฝ์šฐ :
๋น„ํ™œ์„ฑํ™”-๊ณต์œ  ๋ฐ์Šคํฌํ†ฑ ํ™œ์„ฑํ™”
3) ์—์–ด๋กœ ์˜จ-์˜คํ”„

๋‹น์‹ ์˜ ์นด๋“œ๋Š” ๋‹ค๋ฅธ ๊ฒŒ์ž„์„ ์ž˜ ์‹คํ–‰ํ•ฉ๋‹ˆ๊นŒ? ...

์• ๋‹ˆ๋ฉ”์ด์…˜์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ๋ฌผ ์ฝ๊ธฐ-> ๋ง๋”๋“ฌ / ์• ๋‹ˆ๋ฉ”์ด์…˜ ์—†์Œ-> ๋ง๋”๋“ฌ ์—†์Œ ์ฝ”๋“œ๋ฅผ ์ฝ์—ˆ๋Š”๋ฐ ์˜ณ์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ •ํ™•ํžˆ : ๋งค ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” ํ˜„์žฌ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ํ™•์ธํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด Player.gd๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด :

extends Area2D

# class member variables go here, for example:
# var a = 2
# var b = "textvar"
export (int) var SPEED #How fast the player will move (pixel/sec)
var screenSize #size of the game window
onready var AnimSprite = $AnimatedSprite


func _ready():
    # Called when the node is added to the scene for the first time.
    # Initialization here
    screenSize = get_viewport_rect().size
    #Engine.target_fps = 60
    pass

func _process(delta):
#   # Called every frame. Delta is time since last frame.
#   # Update game logic here.
    var velocity = Vector2() #Player movement vector
    if Input.is_action_pressed("ui_right") :
        velocity.x += 1
    if Input.is_action_pressed("ui_left") :
        velocity.x -= 1
    if Input.is_action_pressed("ui_down") :
        velocity.y += 1
    if Input.is_action_pressed("ui_up") :
        velocity.y -= 1
    if velocity.length() > 0 :
        velocity = velocity.normalized() * SPEED
        if !AnimSprite.is_playing():
            AnimSprite.play()
    else :
        if AnimSprite.is_playing():
            AnimSprite.stop()

    if velocity.x != 0 :
        if AnimSprite.animation != "right":
            AnimSprite.animation = "right"
        AnimSprite.flip_v = false
        AnimSprite.flip_h = velocity.x < 0
    elif velocity.y != 0 :
        if AnimSprite.animation != "up":
            AnimSprite.animation = "up"
        AnimSprite.flip_v = velocity.y > 0

    position += velocity * delta
    position.x = clamp(position.x, 0, screenSize.x)
    position.y = clamp(position.y, 0, screenSize.y)

์ด๊ฒƒ์ด ๋งˆ์ง€๋ง‰ ์•„์ด๋””์–ด์ž…๋‹ˆ๋‹ค ... ์•„๋งˆ๋„ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋ง๋„ ์•ˆ๋˜์ง€๋งŒ ... ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๋Š” ํ”Œ๋ ˆ์ด์–ด์—๊ฒŒ ๋งค์šฐ ์ผ๋ฐ˜์ ์ด๋ฏ€๋กœ godot์ด ์ž˜ ์‹คํ–‰๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ฟก๋ฟก

๋Œ€์ƒ :

  • ์ฒซ ๋ฒˆ์งธ ์š”์  : ์ด๋ฏธ ์ „์ฒด ํ™”๋ฉด์„ ์‹œ๋„ํ–ˆ๋Š”์ง€ ์—ฌ๋ถ€, ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • 2 : ์ด๋ฏธ ํ•˜๋‚˜์˜ ๋ชจ๋‹ˆํ„ฐ๋กœ๋งŒ ์‹คํ–‰ํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ (๋‚ด ๊ณตํ†ต ๊ตฌ์„ฑ์ด์ง€๋งŒ ๋‘ ๋ฒˆ์งธ ๋ชจ๋‹ˆํ„ฐ๋„ ๊ฐ€๋” ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋‘˜ ๋‹ค ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค) ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • 3 : ํ…Œ์ŠคํŠธ๋ฅผํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (์˜ค๋Š˜ ์ €๋… (ํ”„๋ž‘์Šค ์‹œ๊ฐ„), ์ด๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.)

  • 4 : ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (์˜ค๋Š˜ ์ €๋… (ํ”„๋ž‘์Šค ํ‘œ์ค€์‹œ),์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.)

๋ฐฉ๊ธˆ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ๋Š”๋ฐ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ godot๊ณผ ์ง์ ‘์ ์œผ๋กœ ๊ด€๋ จ์ด์žˆ์„ ์ˆ˜๋Š” ์—†์ง€๋งŒ godot์€ ์ž˜ ๋ง๋”๋“ฌ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—์„œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ชจ๋“  ๊ฒŒ์ž„์ด ๋”๋“ฌ ๊ฑฐ๋ฆฌ๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ด ์•„๋‹™๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๋‚˜๋Š” n ++, ์ „์ฒด ํ™”๋ฉด, ์ฐฝ, ์–ด๋–ค ๋Š๊น€๋„ ๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ .. ์ „ํ˜€ ๋Š๊น€์ด ์—†์Šต๋‹ˆ๋‹ค. Ori์™€ ๋ธ”๋ผ์ธ๋“œ ํฌ๋ ˆ์ŠคํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ,์ด ๊ฒŒ์ž„์—์„œ ๋ง๋”๋“ฌ์ด ๋ฐœ์ƒํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋งŽ์€ ๋‚˜์œ ์ผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค (๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ•จ๊ป˜ ์ฐฝ ๋“ฑ ... ๊ทธ๋ฆฌ๊ณ  ํ•œ ์‹œ๊ฐ„์— 2 ~ 3 ํ”„๋ ˆ์ž„ ์Šคํ‚ต ...). Godot๋Š” ์‹คํ–‰์„ ์‹œ์ž‘ํ•  ๋•Œ ํ•ญ์ƒ x ์ดˆ ๋™์•ˆ ๋Š๊ธฐ๊ณ  ๋‚˜์ค‘์— ์•ˆ์ •ํ™”๋˜์ง€๋งŒ X ์ดˆ๋งˆ๋‹ค ํ”„๋ ˆ์ž„ ์Šคํ‚ต์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (๋ฌผ๋ก  gtx1060์˜ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋ฉด). ์ด ๋ฌธ์ œ๋ฅผ ์‚ฌ์†Œํ•œ ๋ฌธ์ œ๋กœ ์ทจ๊ธ‰ํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์„ ์„ ๋‹คํ•˜์ง€๋งŒ ๋‚ด ์ˆ˜์ค€์—์„œ๋Š” ์กฐ๊ธˆ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„ค์ •์„ ํ…Œ์ŠคํŠธํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํด๋ฆฌ์–ด ์Šคํฌ๋ฆฐ์œผ๋กœ ์ƒ‰์ƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. "๋นˆ ํ™”๋ฉด"์— 2D ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๋ Œ๋”๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์—์ด ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ์—”์ง„์„ ์ด๋ฏธ ๋ณธ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค (๋งˆ๋…€๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค). ๊ทธ๋ž˜์„œ ์ง€๊ธˆ์€ ์•„๋ฌด ์ƒ๊ฐ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ถ๊ธˆํ•ด์„œ SwapBuffers ๊ฐ€ 68 ํ–‰ ์ฃผ์œ„์—์„œ context_gl_win.cpp ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ํ”„๋กœํŒŒ์ผ ๋งํ•˜์‹ญ์‹œ์˜ค. 16ms๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฉด ์—ฌ๊ธฐ์— ํ”„๋ ˆ์ž„์„ ๋–จ์–ด ๋œจ๋ฆด ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

Godot์˜ ์ถœ์ฒ˜๋ฅผ ์•„๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ฒฐ๊ณผ์—์„œ ๋‚ด๊ฐ€ ํฅ๋ฏธ ๋กญ๋‹ค๋Š” ๊ฒƒ์„ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด (๋‚ด ์˜์–ด์— ๋Œ€ํ•ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค ...)

์–ด์ œ์ด ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ๊ฒŒ์ž„ ์ฐฝ์ด ์•ฝ 60 ์ดˆ ๋™์•ˆ ์‹คํ–‰ ๋œ ํ›„ ๋งˆ๋ฒ•์ฒ˜๋Ÿผ ์ €์ ˆ๋กœ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ถ€๋“œ๋Ÿฌ์›Œ์„œ ์บ์‹ฑ์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ๋งํ•ด ์ฃผ๋‚˜์š”?

ํ˜ธ๊ธฐ์‹ฌ์—์„œ SwapBuffers๊ฐ€ 68 ํ–‰ ์ฃผ์œ„์˜ context_gl_win.cpp์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ํ”„๋กœํŒŒ์ผ ๋งํ•˜์‹ญ์‹œ์˜ค. 16ms๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฉด ์—ฌ๊ธฐ์— ํ”„๋ ˆ์ž„์„ ๋–จ์–ด ๋œจ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GLES2์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด Godot์˜ ์˜ต์…˜์„ ๊ฐ€์ง€๊ณ  ๋†€๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ๋‚˜์—๊ฒŒ๋Š” ์•„๋ฌด๊ฒƒ๋„ ๋ฐ”๋€Œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์„ ๋ฐ”๊ฟ€์ง€ ์ •ํ™•ํžˆ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๊นŒ?

๊ฒŒ์ž„์„ 2 ๋ถ„ ์ด์ƒ ๋†”๋‘๋ ค๊ณ ํ–ˆ์ง€๋งŒ 60 ์ดˆ๊ฐ€ ์ง€๋‚˜๋„ ๋ฌธ์ œ๋Š” ํ•ญ์ƒ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

3.0.3์—์„œ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. (Win10 64 ๋น„ํŠธ, Nvidia 660) 3.0.2์—์„œ๋Š” ๋ˆˆ์น˜ ์ฑ„์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋…ธ๋“œ๊ฐ€์žˆ๋Š” ๋ ˆ๋ฒจ์—์„œ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— AnimatedSprite ๋…ธ๋“œ์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. IDE์—์„œ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ Win 32 ๋น„ํŠธ๋กœ ๋‚ด๋ณด๋‚ผ ๋•Œ ์…”ํ„ฐ ๋ง์ด ๋ฐœ์ƒํ•˜์ง€๋งŒ Win 64 ๋น„ํŠธ๋กœ ๋‚ด ๋ณด๋‚ด๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ œ๋Œ€๋กœ ์‹คํ–‰๋˜๊ณ  ๋Š๊น€์ด ์—†์Šต๋‹ˆ๋‹ค.

.. ํฅ๋ฏธ๋กญ๊ฒŒ๋„ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ 'FirstGame.zip'์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ์—ฌ์ „ํžˆ ๋‚ด ๊ฒŒ์ž„๊ณผ ๊ด€๋ จํ•˜์—ฌ, IDE ๋ฐ 32 ๋น„ํŠธ ๋ฒ„์ „์—์„œ ์‹คํ–‰ํ•˜๋ฉด FPS๊ฐ€ 5๋กœ ๋–จ์–ด์ง€๊ณ  GPU๋Š” ์•ฝ 2 %์— ์žˆ์Šต๋‹ˆ๋‹ค .. .ํ•˜์ง€๋งŒ 64 ๋น„ํŠธ ๋‚ด๋ณด๋‚ด๊ธฐ GPU๋Š” 30 %์ด๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”.์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฐฉ๊ธˆ ํ ๋ฐ๋ชจ๋กœ ํ…Œ์ŠคํŠธ ํ•ด๋ดค๋Š”๋ฐ (์ „์—๋Š” ํŠœํ† ๋ฆฌ์–ผ ๊ฒŒ์ž„์—์„œ ํ•œ ์ ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค)์ด ์ƒ˜ํ”Œ ํ”„๋กœ์ ํŠธ์—๋„ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด Steam์—์„œ Godot์˜ ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Nvidia ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์—…๋ฐ์ดํŠธํ•ด๋„ ์•„๋ฌด๊ฒƒ๋„ ๋ฐ”๋€Œ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‰ด์Šค๋ฅผ ๊ฐ€์ ธ ์™”์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํƒ€๋Š” ๋ฐฉ๋ฒ•์„ ์•„์ง ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ geforce gtx 1060 (3GB ์ €๋ ดํ•œ)์ด์žˆ๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉฐ Windows 10 ํ™ˆ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์•ฑ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ผ๋ถ€ ํ•˜๋“œ์›จ์–ด ํŠน์ • ๊ตฌ์„ฑ AMD-Nvidia Intel-Nvidia ....? ์ด ์ปดํ“จํ„ฐ์—๋Š” ๊ฒŒ์ž„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์—†์ง€๋งŒ (์Œ์•… ๋…น์Œ ์ŠคํŠœ๋””์˜ค์— ์žˆ์Œ) ์ปดํ“จํ„ฐ์— 3 ๊ฐœ์˜ ํ™”๋ฉด์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด๋„ godot์ด ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ์‚ฌ๋žŒ์€ ๊ฒŒ์ž„ ๋ชจ๋‹ˆํ„ฐ๋ง ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ ์ค‘์ธ์ง€, Steam ๋˜๋Š” ์ด์™€ ๋น„์Šทํ•œ ๊ฒƒ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ์žˆ๋‹ค๋ฉด ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๊ณ ?

Steam์„ ์‚ฌ์šฉํ•˜์—ฌ Godot๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ๋„๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค ... Godot์ด ํ›Œ๋ฅญํ•˜๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋‹น์‹ ์ด ๋งŒ๋“  ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๋ฏธ ๋น„ํ™œ์„ฑํ™” ํ•  ์ˆ˜์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ๋งŽ์€ ํ…Œ์ŠคํŠธ๋ฅผํ–ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด nvidia ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์žฌ์„ค์ •ํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ์ชฝ์—๋Š” ์›ํ™œํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ์—”์ง„์ด ๋งŽ์ด ์žˆ๋Š”๋ฐ Godot๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ๊ทธ๊ฒŒ ์ œ๊ฐ€ ์ฐพ์œผ๋ ค๊ณ  ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ์€ ์•„๋ฌด๊ฒƒ๋„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋”˜๊ฐ€์— ๋ฌด์–ธ๊ฐ€๊ฐ€ ์žˆ์ง€๋งŒ ๋ฌด์—‡๊ณผ ์žฅ์†Œ๊ฐ€ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค :-)

์ด ๋ฌธ์ œ๋Š” ์ž์ฒด ๊ฒ€์ƒ‰์œผ๋กœ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์„ ์ฐพ๊ธฐ์—๋Š” ๋„ˆ๋ฌด "์—”์ง„ ๊ฐœ๋ฐœ ๊ด€๋ จ"๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” godot ์ฝ”๋“œ๋ฅผ ๋ช‡ ์‹œ๊ฐ„ ๋™์•ˆ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ  ์ด๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ์„ ์ฐพ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์ „ํ˜€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—”์ง„ ๊ฐœ๋ฐœ์ž๋“ค์€ ๋” ๋งŽ์€ ์ฝ”๋“œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ข‹์•„ํ•˜๊ณ  "๋ฒ„๊ทธ ์ˆ˜์ •"์ด ๋” "์ค‘๊ธ‰ ์ž‘์—…"์œผ๋กœ ๊ฐ„์ฃผ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์••๋‹ˆ๋‹ค. "๋˜๋Š” ์ด์™€ ๋น„์Šทํ•œ ๊ฒƒ. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๋Š” ์‚ฌ์‹ค์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ์ž๋™ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•ด ์—”์ง„ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ•˜๊ณ  ๋‹ค๋ฅธ "๋ณต์žกํ•œ ๊ณ ์ŠคํŠธ ์ˆ˜์ค€์ด ๋‚ฎ์€ ์ˆ˜์ค€์˜ ๋น„์šฉ ๋ถ€๋‹ด"๋ฒ„๊ทธ ์ˆ˜์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๋ฏธ (Steam์—†์ด) dev ๋ฒ„์ „์„ ์‹œ๋„ํ–ˆ๊ณ  ๋ฌธ์ œ๋Š” ๋™์ผํ•˜๋‹ค๊ณ  ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์ €๋Š” ๋˜‘๊ฐ™์€ ๋Š๊น€ ๋ฌธ์ œ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค (Git ์†Œ์Šค์˜ Godot 3.1 ์‚ฌ์šฉ). ๋น„๋””์˜ค์—์„œ์™€ ๋˜‘๊ฐ™์€ ์›€์ง์ž„์ด ์ €์—๊ฒŒ ์ง€์—ฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. move_and_slide ๋˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ”Œ๋ ˆ์ด์–ด ์›€์ง์ž„์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ์ ํŠธ ์„ค์ •์—์„œ V-Sync๋ฅผ ์ผœ๋ฉด 2D ๊ฒŒ์ž„์—์„œ ๋Š๊น€ ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@Zylann ์ด V-Sync๋ฅผ ๋„๋ฉด ๋ง๋”๋“ฌ์ด ์ œ๊ฑฐ ์Šค๋Ÿฝ์ง€๋งŒ ์ €์—๊ฒŒ๋Š” ๊ทธ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค.

@Qws๋ฅผ ๋„๊ณ  ๊ฒŒ์ž„์„ 60fps ์ด์ƒ์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด (๋‹น์‹œ ๊ทธ๋žฌ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ) ๋ง๋”๋“ฌ์ด ์‚ฌ๋ผ์ง€์ง€๋งŒ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ „๋ ฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์ ์ ˆํ•œ ๋ธํƒ€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๋ชจ๋“  ๊ฒƒ์„ ์‹คํŒจํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค) ์‹œ๊ฐ). V-sync๋ฅผ ๋ˆ ์ƒํƒœ์—์„œ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ถ€์ ์ ˆํ•œ ๋ธํƒ€ ์‹œ๊ฐ„ ๋˜๋Š” ๊ฒŒ์ž„์ด ํ™”๋ฉด์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋ ˆ์ž„๋ณด๋‹ค ๋” ์˜ค๋ž˜ ๋Œ€๊ธฐ / ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด gtx 1060์œผ๋กœ ํ•œ ์ฒซ ๋ฒˆ์งธ ํ…Œ์ŠคํŠธ๋Š” ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ๋‚˜์ค‘์— ๊ทธ ๋ง๋”๋“ฌ์„ ๊ฒฝํ—˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ฐ”๊พผ ์œ ์ผํ•œ ๊ฒƒ์€ dvi to hdmi conexion (๋ฐ ์ผ๋ถ€ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜)์ž…๋‹ˆ๋‹ค ... ์ด๊ฒƒ์€ ์•ฝ๊ฐ„ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ™•์‹  ํ•œ ์œ ์ผํ•œ ๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ Windows 10 ์ธก์— ์žˆ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ๋งŽ์ด ๋งํ•  ๊ฒƒ์ด๋‹ค. Gamedev.tv ํŠœํ† ๋ฆฌ์–ผ์—์„œ 2D ๊ฒŒ์ž„ ํŠœํ† ๋ฆฌ์–ผ "Hoppy Days"๋ฅผ ์ž‘์—… ์ค‘์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด 3.0.2๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ณ  ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠœํ† ๋ฆฌ์–ผ์ด 3.0.4๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์œผ๋ฏ€๋กœ ๋ง ๊ทธ๋Œ€๋กœ ์˜ค๋Š˜ 3.0.6์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ฒŒ์ž„์—์„œ ๋ˆˆ์— ๋„๋Š” ์ง€์—ฐ์ด ์žˆ์Šต๋‹ˆ๋‹ค. _3.0.2_์—์„œ๋Š” ์ง€์—ฐ์ด ์ „ํ˜€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค . ์ง€๊ธˆ ๊ฑฐ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ์„ค์ •์€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ๋…ธํŠธ๋ถ์€ ์ƒ๋‹นํžˆ ์ƒˆ๋กœ์šด (2017 ๋…„ 3 ์›” ๊ตฌ๋งค) Dell Inspiron 7000 ์‹œ๋ฆฌ์ฆˆ ๊ฒŒ์ž„์šฉ ๋…ธํŠธ๋ถ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์„œ๋Š” 7 ์„ธ๋Œ€ Intel Core i7-7700HQ ์ฟผ๋“œ ์ฝ”์–ด (6MB ์บ์‹œ, ์ตœ๋Œ€ 3.8GHz)์ž…๋‹ˆ๋‹ค. ๋น„๋””์˜ค ์นด๋“œ๋Š” 4GB GDDR5์˜ NVIDIA GeForce GTX 1050Ti์ž…๋‹ˆ๋‹ค. RAM์€ 16GB, 2400MHz, DDR4์ž…๋‹ˆ๋‹ค. ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ๋Š” ์‚ผ์„ฑ SSD์ž…๋‹ˆ๋‹ค. ์œˆ๋„์šฐ 10.

๋‚˜์—๊ฒŒ๋Š” 3.0.4 ๋˜๋Š” 3.0.6์—์„œ ๋ณ€๊ฒฝ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค ...... ๋‹ค๋ฅธ ๊ฒƒ์€ ์ „ํ˜€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„๋„ ์•„๋‹™๋‹ˆ๋‹ค (์˜ˆ : ๋ ˆ๋ฒจ์„ ์ „ํ˜€ ๋ณ€๊ฒฝ / ํŽธ์ง‘ / ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค).

@ emo10001 3.0.3์„ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? 3.0.x ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋นŒ๋“œ ์‹œ์Šคํ…œ์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค (MSVC 2015๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ AppVeyor CI์— 3.0์—์„œ 3.0.2๊นŒ์ง€ ๋นŒ๋“œํ–ˆ์œผ๋ฉฐ MinGW๋ฅผ ํ†ตํ•ด GCC 8๋กœ 3.0.3์—์„œ 3.0.6๊นŒ์ง€ ๋นŒ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค).

๋žฉํ†ฑ์— Optimus / ์ „ํ™˜ ๊ฐ€๋Šฅํ•œ ๊ทธ๋ž˜ํ”ฝ์ด์žˆ๋Š” ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์ด Nvidia GPU์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  3.0.2 ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ํ—ˆ์šฉ ๋ชฉ๋ก์— ์ถ”๊ฐ€ ํ•œ ๋ฐ˜๋ฉด 3.0.3+๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ IGP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” 3.0.2๊ฐ€ ์•ˆํ‹ฐ ๋ฐ”์ด๋Ÿฌ์Šค์— ์˜ํ•ด ํ—ˆ์šฉ ๋ชฉ๋ก์— ํฌํ•จ ๋œ ๋ฐ˜๋ฉด 3.0.3+๋Š” ๋‹ค๋ฅธ ์†Œ์Šค (์‚ฌ์‹ค)์—์„œ ์˜จ ๊ฒƒ์œผ๋กœ ๋ณด์ด์ง€๋งŒ ์•„์ง ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์–ด ์•ˆํ‹ฐ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์ „์ฒด ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ๋“ค์€ ๋‹จ์ง€ ์ถ”์ธก ์ผ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‹ค์ œ Godot ๋ณ€๊ฒฝ์ด ์„ฑ๋Šฅ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น ์ง€ ํ™•์‹  ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋นŒ๋“œ ์‹œ์Šคํ…œ ๋ณ€๊ฒฝ ๋งŒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CC @hpvb

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€์žˆ๋‹ค! ๋‚ด ํ”„๋กœ์ ํŠธ๊ฐ€ 20 ~ 30 ์ดˆ ๋™์•ˆ ๋Š๊ฒผ๋‹ค๊ฐ€ ๋‚˜์ค‘์— ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. OP ํฌ์ŠคํŠธ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ–ˆ๋Š”๋ฐ ๋˜‘๊ฐ™์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
V-Sync๋ฅผ ๋„๋ฉด ๋ฌธ์ œ๊ฐ€ ์ œ๊ฑฐ๋˜๊ณ  4000 + fps๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” Linux Mint 19์—์„œ ๋ฒ„์ „ 3.0.6์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (๊ทธ๋ž˜์„œ Windows ํƒœ๊ทธ๊ฐ€ ๋ฌด์˜๋ฏธํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. eh?) ๋ฐ ์ตœ์‹  ๋…์  ๋“œ๋ผ์ด๋ฒ„๊ฐ€์žˆ๋Š” GTX 760.

๋‚˜๋Š” Linux Mint 19์—์„œ ๋ฒ„์ „ 3.0.6์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (๊ทธ๋ž˜์„œ Windows ํƒœ๊ทธ๊ฐ€ ๋ฌด์˜๋ฏธํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. eh?) ๋ฐ ์ตœ์‹  ๋…์  ๋“œ๋ผ์ด๋ฒ„๊ฐ€์žˆ๋Š” GTX 760.

์•„๋‹ˆ์š”,ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ๋ฌธ์ œ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Linux์—์„œ ๋Š๊น€ ํ˜„์ƒ์€ ์ข…์ข… ์ฐฝ ๊ด€๋ฆฌ์ž์˜ ํ•ฉ์„ฑ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (์˜ˆ : KWin์—๋Š” ์ผ๋ถ€๊ฐ€ ์žˆ์ง€๋งŒ Openbox์—๋Š” ์—†์Œ).

๋‚ด ํ”„๋กœ์ ํŠธ๊ฐ€ 20 ~ 30 ์ดˆ ๋™์•ˆ ๋Š๊ฒผ๋‹ค๊ฐ€ ๋‚˜์ค‘์— ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

ํŽธ์ง‘์ค‘์ธ ์žฅ๋ฉด์„ ์‹คํ–‰ํ•˜๋ฉด 15 ~ 30 ์ดˆ ์ •๋„ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ณ  (vsync๊ฐ€ ์ผœ์ง„ ์ƒํƒœ์—์„œ) ์ฐข์–ด์ง€๋Š” ํ˜„์ƒ์ด ๋งŽ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ๋ฉ”์ธ ๋ฉ”๋‰ด์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์žฅ๋ฉด ์„ ํƒ๊ธฐ๋กœ ์žฅ๋ฉด์„ ์—ด๋ฉด ... ๊ธ€์Ž„, ๊ฐ™์€ ์žฅ๋ฉด์—์„œ ๋ง๋”๋“ฌ์ด ์—†์Šต๋‹ˆ๋‹ค (๊ฒฐ๊ตญ์€ ์žˆ์ง€๋งŒ ๊ฒฐ์ฝ” ์•„๋‹™๋‹ˆ๋‹ค). ์ด ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ณ ๋„? Windows? ์žฌ์ƒ์‚ฐ ์•ˆ์ •ํ™”๋ฅผ ์œ„ํ•ด ๋ช‡ ๊ฐœ์˜ ํ”„๋ ˆ์ž„์ด ํ•„์š”ํ•œ๊ฐ€์š”? ... ๊ฒŒ์ž„ ๋””์ž์ธ์— ํ•„์š”ํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฐ ๊ฒƒ๋“ค์„ ์•„๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•„๋‹ˆ์š”,ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ๋ฌธ์ œ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ , ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์˜๋ฏธ ํ•œ ๊ฒƒ์€์ด ํŠน์ • ๋ฌธ์ œ๋Š” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋งˆ๋„ ๋‹ค์ค‘ ํ”Œ๋žซํผ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์—‰๋ง์ด์—ˆ๊ณ  move_and_slide () ๋ฐ move_and_collide () ๋ชจ๋‘์— ๋Œ€ํ•ด ๋‘ ๊ฐœ์˜ ์šด๋™ํ•™ ๋ชธ์ฒด๊ฐ€ ์ •ํ™•ํžˆ ๋™์‹œ์— ๋”๋“ฌ ๊ฑฐ๋ฆฌ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‘˜ ๋‹ค ์ง„๋™ ํ•  ๋•Œ ์นด๋ฉ”๋ผ๋ฅผ ํ•˜๋‚˜์— ์—ฐ๊ฒฐํ•˜๋ฉด ๋‘ ๊ฐœ์˜ ์šด๋™ ํ•™์  ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์žฅ๋ฉด์˜ ๋ชจ๋“  ๊ฒƒ์ด ๋Š๊น๋‹ˆ๋‹ค. ์ •์  ์นด๋ฉ”๋ผ์—๋Š” ๋‘ ๊ฐœ์˜ ์šด๋™ ํ•™์  ๋…ธ๋“œ๊ฐ€ ๋”๋“ฌ ๊ฑฐ๋ฆฌ๋Š” ๊ฒƒ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋ณ€๊ฒฝ ํ•œ ๊ทธ๋ž˜ํ”ฝ ์„ค์ •์ด๋‚˜ _process ๋˜๋Š” _physics_process๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ธํƒ€ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” ์‹ค์ œ ์‚ฌ์šฉ์„ ๋Œ€ํ‘œํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋” ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ๋Š” ์กฐ๊ธˆ ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์œˆ๋„์šฐ๊ฐ€ ๊ณผ๋„ํ•˜๊ฒŒ ํฐ godot ์œ ํœด ์‹œ๊ฐ„์„ ์ž˜ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. godot๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. "๊ธฐ๋ณธ ๋ชจ๋‹ˆํ„ฐ"์™€ ๊ฐ™์€ ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ชจ๋‹ˆํ„ฐ๊ฐ€ 1์ด ์•„๋‹Œ ๊ฒฝ์šฐ ๋ณด์กฐ ๋ชจ๋‹ˆํ„ฐ์—์„œ ๋Š๊น€์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (YouTube๋Š” ori์™€ ๊ฐ™์€ ๋‹จ์ผ ์ƒ์šฉ ๊ฒŒ์ž„์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค). ๋ณด์กฐ ๋ชจ๋‹ˆํ„ฐ์˜ ์ „์ฒด ํ™”๋ฉด, ์Šน๋ฆฌ 7์˜ ์—์–ด๋กœ ๋ฐ ๋ชจ๋‹ˆํ„ฐ ๊ต์ฒด (ej : ๊ธฐ๋ณธ ๋ชจ๋‹ˆํ„ฐ 2์™€ ๊ฐ™์Œ)์—์„œ scenary๋Š” ์ตœ์•…์ด๋ฉฐ ํฐ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (godot๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฒŒ์ž„ ์ œ์ž‘์ž ๋‚˜ ์œ ๋‹ˆํ‹ฐ ๊ฒŒ์ž„๋„ ์•„๋‹™๋‹ˆ๋‹ค). 2 1080p ํ™”๋ฉด์—์„œ ํ™•์žฅ ๋œ ๋ฐ์Šคํฌํƒ‘์ด์žˆ๋Š” ๋ฉ€ํ‹ฐ ๋ชจ๋‹ˆํ„ฐ๋Š” ์ €๋ ดํ•œ GPU์—๋Š” ์–ด๋ ต์ง€๋งŒ ๋‹ค๋ฅธ ๊ฒŒ์ž„์€ ๋” ๋ถ€๋“œ๋Ÿฝ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (godot๋Š” fps๋ฅผ ์žƒ์ง€ ์•Š๊ณ  ๋Š๊น€ ๋งŒ ๋ฐœ์ƒ). ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๊ณ„์†๋œ๋‹ค๋ฉด ๋” ๋ณต์žกํ•œ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

@Ranoller ๋‚ด ์„ค์ •์€ gtx 760์˜ ๋“€์–ผ ๋ชจ๋‹ˆํ„ฐ, 'primary'๋กœ ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋œ ๋‘ ๋ฒˆ์งธ ๋ชจ๋‹ˆํ„ฐ, ๊ณ„ํ”ผ๊ฐ€์žˆ๋Š” Linux mint 19์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๊ฐ€ ๋”๋“ฌ ๊ฑฐ๋ฆฌ๋Š” ํŠน์ • ์กฐ๊ฑด์„ ์ดํ•ดํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ์•Œ์•„๋‚ผ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž‘์€ ํ”„๋กœ์ ํŠธ๋Š” ๋•Œ๋•Œ๋กœ ๋Š๊น€์—†์ด ๋Š๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค (๋‹จ์ง€ ๋Š๊น€, fps ์†์‹ค ์—†์Œ). ๋˜ํ•œ (์ฐฝ์œผ๋กœ ์‹คํ–‰๋˜๋Š” godot ํ…Œ์ŠคํŠธ ๊ตฌ์„ฑ์—์„œ ์‹คํ–‰ ์ค‘) ๋Š๊น€์ด ๋ฐœ์ƒํ•˜๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ๋‘ ๋ฒˆ์งธ ๋ชจ๋‹ˆํ„ฐ (๊ธฐ๋ณธ ๋ชจ๋‹ˆํ„ฐ๊ฐ€ ์•„๋‹˜)์— ํ•˜๋‚˜ ์ด์ƒ์˜ ํฌ๋กฌ ์ฐฝ์ด ์žˆ์œผ๋ฉฐ, ์ตœ์†Œํ™”ํ•˜๋ฉด ๋Š๊น€ ํ˜„์ƒ์ด ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ํฌ๋กฌ ์ฐฝ์—์„œ ๋ณต์›ํ•˜๋ฉด ๋ง๋”๋“ฌ์ด ์™„์ „ํžˆ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

2 ๋Œ€์˜ ์ปดํ“จํ„ฐ-> i5 gtx660 2 ๊ฐœ ํ™”๋ฉด 1080p ๋ฐ ๋‹ค๋ฅธ 1 ๊ฐœ i7 gtx 1060 3 ๊ฐœ ํ™”๋ฉด (2 1080p ๋ฐ ๊ธฐํƒ€ hdready) ... ๊ธ€์Ž„, gtx660์˜ ๋ณด์กฐ ๋ชจ๋‹ˆํ„ฐ์™€ ๊ด€๋ จ๋œ์ด ๋Š๊น€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ Œ๋”๋ง, godot ๋ฐ chrome stutters, ๊ฒŒ์ž„ ์ œ์ž‘์ž ๋ฐ unity do n't (์ƒ์—…์šฉ ๊ฒŒ์ž„, ์ •ํ™•ํžˆ HiperLightDrifter ๋ฐ Ori, ๋ฐ๋ชจ ๋˜๋Š” ํ…œํ”Œ๋ฆฟ์„ ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์Œ)์™€ ๋…์ ์ ์œผ๋กœ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค. Windows aero๋Š” ์ „์ฒด ํ™”๋ฉด์—์„œ ๋” ๋งŽ์ด ๋ฒ„๋ฒ… ๊ฑฐ๋ฆฝ๋‹ˆ๋‹ค (์‹ค์ œ๋กœ ์ „์ฒด ํ™”๋ฉด์ด ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค). ๊ทธ๋Ÿฌ๋‚˜ win 7์—์„œ๋Š” aero ์—†์ด๋Š” ๋งค์šฐ ๋งŽ์€ fps๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” vsync์—†์ด 130-140fps, aero์—์„œ๋Š” 400fps๋ฅผ ํ†ต๊ณผํ–ˆ์ง€๋งŒ. .. ํŠน์ • ์กฐ๊ฑด (vsync ์œ ๋ฌด์— ๊ด€๊ณ„์—†์ด)์—์„œ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” i7 gtx 1060์—์„œ godot์„ ๋”๋“ฌ ๊ฑฐ๋ฆฌ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ตœ์ ํ™” / OpenGL ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ej : Light2D๋Š” ๊ฑฐ์˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ๋„ˆ๋ฌด ๊ฐ•๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด "mix"์ด์™ธ์˜ ๋ชจ๋“  ๋ฏน์Šค ๋ชจ๋“œ๊ฐ€ ๋Š๊ธธ ์ˆ˜ ์žˆ์ง€๋งŒ godot์€ ๊ฒŒ์ž„ ์ œ์ž‘์ž ๋˜๋Š” Unity์™€ ๋™์ผํ•œ ์ˆ˜์ค€์—์„œ ์„ฑ๋Šฅ์„ ์ฒ˜๋ฆฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ 3.1์ด ์‹œ์ž‘๋˜๋ฉด ์ตœ์ ํ™” ์ž‘์—…์ด ์‹œ์ž‘๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๊ณ  Direct3D / OpenGL์ด ์•„๋‹Œ ๊ฒฝ์šฐ-๋ฌผ๋ก  Windows ๋ฌธ์ œ ... ํ…Œ์ŠคํŠธ ๋ฐ ์‚ญ์ œ๋ฅผ ์œ„ํ•ด Windows์—์„œ GLES2 / 3 ๊ฒŒ์ž„์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. ์ง์ ‘์ ์ธ OpenGL-Aero / Win7-8-10 ๋ฌธ์ œ) ... godot์˜ ์„ฑ๋Šฅ์ด ๊ณ ์œ  ํ•œ-> ํ•˜๋‚˜์˜ ๊ฒŒ์ž„ ๊ธฐ๋ฐ˜ ์—”์ง„๊ณผ ๊ฐ™์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค (Ej : Rayman ๊ธฐ์›์€ ์ด์ „ ๋…ธํŠธ๋ถ์—์„œ ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. , godot 2๋Š” ์•ˆ๋จ),ํ•˜์ง€๋งŒ ์ ์–ด๋„ ๊ฒŒ์ž„ ์ œ์ž‘์ž์™€ ๋™์ผํ•œ ์•ˆ์ •์ ์ธ ์ˆ˜์ค€์—์„œ ๋ Œ๋”๋งํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (Unity๋Š” ์•„๋งˆ๋„ ์˜ค๋žซ๋™์•ˆ godot์„ ๋” ์ž˜ ์ตœ์ ํ™” ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ˆ ...). ์ง€๊ธˆ์€ godot์ด ํ•˜์ด ์—”๋“œ ํ•˜๋“œ์›จ์–ด ๋‚˜ ์ €ํ•ด์ƒ๋„ ํ™”๋ฉด์—์„œ๋งŒ ์ž˜ ์ž‘๋™ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค (i5 win7 32 ๋น„ํŠธ 15 ์ธ์น˜ ์ธํ…” HD ๊ทธ๋ž˜ํ”ฝ ์ปดํ“จํ„ฐ์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ž˜ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ HD ํ™”๋ฉด์—์„œ๋Š”์ด ์ปดํ“จํ„ฐ๊ฐ€ ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค) ...

๋ฌผ๋ก  ๊ทธ ๋ชจ๋“  ๊ฒƒ์ด ๋‚ด ์˜๊ฒฌ / ๊ฒฝํ—˜์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ‹€๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๊ทธ๋ฆฌ๊ณ  ์ €๋Š” ๊ทธ๋Ÿด ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ฐ„๋‹จํ•œ ํ•œ ์ค„์˜ ์ˆ˜์ •์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ด๊ฒƒ์€ ๋Œ€๋‹จ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค !!!)

๋‹ค๋ฅธ ํ•œํŽธ์œผ๋กœ๋Š” godot ์‹คํ–‰ ํŒŒ์ผ์˜ "ํ”„๋กœ์„ธ์Šค ์šฐ์„  ์ˆœ์œ„"์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•˜๋Š” reduz๋ฅผ ์ฝ์€ ๊ฒƒ์„ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Windows์—์„œ๋Š” ์‹คํ–‰์‹œ godot์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋ณ€๊ฒฝํ•ด๋„ ์ฐจ์ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‹จ์–ด๋ฅผ ๋ฐœ๋ช… ํ–ˆ๋‚˜์š”?), ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์—๋Š” ์ŠคํŒŒ์ดํฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ Œ๋”๋ง, nvidia / godot ๋ฐ ์ปดํ“จํ„ฐ ๋ฐ”ํƒ• ํ™”๋ฉด๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค (Windows์—์„œ๋Š” Linux์—์„œ ์‹œ๋„ํ•˜์ง€ ์•Š์Œ).

์•ˆ๋…•ํ•˜์„ธ์š”,์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ? ^^ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ๋‹ค์‹œ ํ…Œ์ŠคํŠธ ํ•ด ๋ณผ๊ฒŒ์š”. ๊ทธ๋ž˜๋„ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์š”.

์•ˆ๋“œ๋กœ์ด๋“œ์ด ์ข…๋ฃŒ๋ฅผ ์ˆ˜ํ–‰ ๋˜๋Š” iOS ํ”Œ๋žซํผ์€ ์ด์ œ ์…”ํ„ฐ problem.like์„ ๊ฐ€์ง€๊ณ  ์ดˆ๊ธฐ ๊ณ ๋„ (Godot)์— ์˜ํ•ด ๊ตฌ๊ธ€ ์ €์žฅ์†Œ์— ์ผ๋ถ€ ๊ฒŒ์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค :? https://play.google.com/store/apps/details?id=com.MoTaiGikStudio .DunkUp

์ด๋Š” ๋‹ค์–‘ํ•œ GPU ๋ฐ ๋‹ค์–‘ํ•œ ์šด์˜ ์ฒด์ œ์™€ ํ•จ๊ป˜ ํŠน์ • ์ƒํ™ฉ์—์„œ ํ…Œ์ŠคํŠธ ๋œ ๋ชจ๋“  ํ”Œ๋žซํผ์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ฝ˜์†”์— ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋ฆฌ๋ˆ…์Šค์™€ ์œˆ๋„์šฐ ๋ชจ๋‘์—์„œ ํ…Œ์ŠคํŠธํ–ˆ๊ณ  ๊ฐ€๋” ์ž‘์€ ๋Š๊น€ ํ˜„์ƒ์œผ๋กœ ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ €์‚ฌ์–‘ ํ†ตํ•ฉ ์ธํ…” HD ๊ทธ๋ž˜ํ”ฝ baytrail ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋Š๊น€์˜ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์‹œ๊ฐ„์„ ๋…ธ๋ ฅํ•œ ๋์—, ์ ์–ด๋„ ์ œ ๊ฒฝ์šฐ์—๋Š” '์—๋””ํ„ฐ ์„ค์ •'์—์„œ '์›๊ฒฉ ์žฅ๋ฉด ํŠธ๋ฆฌ๋กœ ์ž๋™ ์ „ํ™˜'์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ์ผ๊ด€๋œ 1 ์ดˆ ๋Š๊น€ ํ˜„์ƒ์„ ์šฐ์—ฐํžˆ ์ถ”์ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‘œ์‹œ๋ฅผ ํ•ด์ œํ•˜๋ฉด ๋Š๊น€ ํ˜„์ƒ๊ณผ ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. (์•„์ฃผ ์•ฝ๊ฐ„์˜ ๋ง๋”๋“ฌ์ด์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฑฐ์˜ ๋ˆˆ์— ๋„์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

godot windows tools 64_2018-11-14_01-19-20

Godot ๋นŒ๋“œ 8849d3b47de8ab936549f0b9262c1193164feee5
Win10 64 ๋น„ํŠธ, NVIDIA GeForce GTX 660, ๋“œ๋ผ์ด๋ฒ„ v416.81

๋‚˜๋Š” ๋˜ํ•œ ๋‚ด ๊ฒŒ์ž„์—์„œ ๋ง๋”๋“ฌ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์€ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ๊ฒŒ์ž„์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์ „์ฒด ํ™”๋ฉด์„ ๊ป๋‹ค๊ฐ€ ์ผœ๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค. ์™„์ „ํžˆ ๋ฌด์ž‘์œ„๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ๊ฒŒ์ž„์ด ๊ฑฐ์˜ ์™„๋ฒฝํ•˜๊ฒŒ ์‹คํ–‰๋˜๊ณ  ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ๋ง๋”๋“ฌ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์šด๋™ ํ•™์  ์บ๋ฆญํ„ฐ๊ฐ€์žˆ๋Š” 2D ํ”„๋กœ์ ํŠธ.
์ธํ…” i5-2550K CPU
16GB ๋žจ
Geforce GTX 970
Win10 64 ๋น„ํŠธ
Godot 3.0,6

์Šน๋ฆฌ์—์„œ๋Š” ์ „์ฒด ํ™”๋ฉด์—์„œ ๋” ๋งŽ์ด 10 ๋ฒˆ ๋”๋“ฌ์ด ๋ฐœ์ƒํ•˜๋ฉฐ Aero (๊ทธ๋ฆฌ๊ณ  ๋น„ํ™œ์„ฑํ™” ํ•  ์ˆ˜ ์žˆ์Œ) ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Godot๋Š” Windows Aero์—์„œ ๋” ์ ์€ CPU์™€ ๋” ๋งŽ์€ GPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์ด๊ฒƒ์€ ๋” ๋งŽ์€ ๋ง๋”๋“ฌ์„ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค. Windows 7์—์„œ Windows Aero๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์ „์ฒด ํ™”๋ฉด์ด ์ฐฝ๋ณด๋‹ค ๋” ์ ๊ฒŒ ๋Š๊น€์—†์ด ๋” ๋งŽ์€ CPU๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Win 10์€ ์‹ค์ œ ์ „์ฒด ํ™”๋ฉด์ด ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค ....

์ €๋Š” ํ”„๋กœํ†  ํƒ€์ž… ํ•€๋ณผ 2D ๊ฒŒ์ž„์„ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ๊ณต์˜ ์›€์ง์ž„์— ๋„ˆ๋ฌด ๋ถˆ์•ˆํ•ดํ•ฉ๋‹ˆ๋‹ค. ์ค‘๋ ฅ์— ์˜ํ•ด ๋–จ์–ด์ง€๋Š” ๋”ฑ๋”ฑํ•œ ๋ชธ์ฒด ๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” Win10 / NVidia GTX 560 Ti 1Go (์ตœ์‹  ๋“œ๋ผ์ด๋ฒ„ ํฌํ•จ) / 8 Go Ram์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์ปดํ“จํ„ฐ๋Š” ์ตœ๊ณ ๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋‚ด ํ”„๋กœ์ ํŠธ์—๋Š” ํ…Œ๋‘๋ฆฌ์— ๋Œ€ํ•œ ๊ณต๊ณผ StaticBody2D ๋งŒ ์žˆ์œผ๋ฉฐ ๋งค์šฐ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์ง€ ํ„ฐ๋ง์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. vsync๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  OpenGL 3.0 ๋ฐ 2.0, ์ฐฝ ๋ฐ ์ „์ฒด ํ™”๋ฉด, ์ ์  ๋” ์ ์€ ๋ฌผ๋ฆฌ์  fps๋กœ ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด Godot ๋ฒ„์ „์€ 3.1 ์•ŒํŒŒ์ž…๋‹ˆ๋‹ค.
๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์ค‘๋Œ€ํ•œ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์•„๋งˆ๋„ ๊ณ ์น˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ทธ๊ฒƒ์„ ๊ฑด๋„ˆ ๋›ฐ๋ฉด ์•ˆ๋œ๋‹ค. 2D ๊ฒŒ์ž„์„ ์œ„ํ•ด ๋ถ€๋“œ๋Ÿฌ์šด 2D ์›€์ง์ž„์„ ๊ฐ–๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

๋‹น์‹  ๋ง์ด ๋งž์•„์š”, Godot๋Š” ์ด์ œ ๋ชจ๋“  ์ตœ๊ณ  ์—”์ง„๋“ค๋ณด๋‹ค ๋” ๋‚˜์€ ์œ ์šฉ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (๋ฌผ๋ก  ์ œ ์ƒ๊ฐ์—). ์‚ฌ์šฉ์„ฑ ์ธก๋ฉด์ด ๋ชจ๋‘๋ฅผ ๋Šฅ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ... ์„ฑ๋Šฅ ์ธก๋ฉด .... ์ˆ˜์ถœ ์ธก๋ฉด .... ๋” ์œ ๋™์  ์ธ ๋‹จ์ผ์„ฑ ๋˜๋Š” ๊ฒŒ์ž„ ๋ฉ”์ด์ปค ์ˆ˜์ถœ๊ณผ๋Š” ๋‹ฌ๋ฆฌ godot์ด ์šด์˜ ์ฒด์ œ๋ฅผ ์•ž์ง€๋ฅด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค (ํฌ๋กฌ ๊ตฌ์„ฑ์ด ๋” ์œ ๋™์  ์ผ ๋•Œ๊นŒ์ง€ ), gdscript์˜ ์†๋„ ์ €ํ•˜ (GDScript์˜ ์œ ๋ฌด์— ๊ด€๊ณ„์—†์ด ๋ฐœ์ƒ) ๋•Œ๋ฌธ์ด ์•„๋‹ˆ๋ผ "๋‹ค๋ฅธ ๊ฒฐ์ •๋˜์ง€ ์•Š์€ ์ผ"์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์–ธ์  ๊ฐ€๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ cpp ํŒŒ์ผ์—์„œ ๋ฐ˜๋ž€๊ตฐ ํ•œ ์ค„์„ ์ฐพ๊ณ  ๊ฐ„๋‹จํ•œ "!"๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๊ณ ์ณ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค ... (ํฌ๋ง์€ Godot์ฒ˜๋Ÿผ ์ž์œ  ๋กญ์Šต๋‹ˆ๋‹ค!)

์ €๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ผ๋‘์—๋‘๊ณ  ์žˆ์œผ๋ฉฐ Godot๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ฐ€ ์‹œ๊ฐ„์„ ๋ชจ๋‘ ๋งํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ ๊ฒ ์ง€๋งŒ ์—”์ง„์ด ๋ณด์žฅ ํ•  ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ ๊ฐ„๋‹จํ•œ ์žฅ๋ฉด์œผ๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜์—์„œ ๋ถ€๋“œ๋Ÿฌ์šด 2D ์›€์ง์ž„์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„์ด ๋ชจ๋“  ์ „๋ฌธ๊ฐ€์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์—”์ง„์€ ๋‹จ์ˆœํžˆ ์“ธ๋ชจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์•„๋งˆ๋„ ๊ฐ€์žฅ ํ˜„๋ช…ํ•œ ์„ ํƒ์€ ์ด๋Ÿฐ ์‹์œผ๋กœ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ผ๋ถ€ ๊ตฌ์„ฑ (์˜ˆ : Windows 10 ๋ฐ NVidia ๋“œ๋ผ์ด๋ฒ„)์—์„œ๋งŒ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

  • ์ด ๋ฌธ์ œ (๋˜๋Š” ์œ ์‚ฌํ•œ ๋ฌธ์ œ)๊ฐ€ ์ด๋ฏธ ์ด์ •ํ‘œ์— ๊ณ„ํš๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ?
  • ์ด ๋ฌธ์ œ๊ฐ€ ๋งˆ์ผ์Šคํ†ค 3.2์—์„œ Vulkan์œผ๋กœ OpenGL์„ ๊ต์ฒดํ•˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์€ ์ œ์ณ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์ถ”์‹  : ๋‹ค๋ฅธ PC๋กœ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ธํ…” i7 4790K 4.00Ghz
  • Win10 64 ๋น„ํŠธ 16 Go RAM
  • NVidia GTX 1060 3Go (์ตœ์‹  ๋“œ๋ผ์ด๋ฒ„ ํฌํ•จ)
  • Godot 3.1 ์•ŒํŒŒ ๊ณต์‹
    ๊ฐ„๋‹จํ•œ ์žฅ๋ฉด์—์„œ๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ PC ๊ตฌ์„ฑ (Win10 + Nvidia ์นด๋“œ)์ด ๋งค์šฐ ๊ณตํ†ต์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉฐ Godot ์ปค๋ฎค๋‹ˆํ‹ฐ (๊ทธ๋Ÿฐ๋ฐ ํ›Œ๋ฅญํ•œ ์ผ์„ํ•˜๋Š”)๊ฐ€ ๊ณง์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์ข‹์€ 2D ๊ฒŒ์ž„์ด ์ถœ์‹œ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. Godot๋กœ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๋กœ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ํ”„๋กœ๊ทธ๋žจ ์ดˆ์  ๋ฌธ์ œ์ผ๊นŒ์š”? ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งค๋ฒˆ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ (๊ฒŒ์ž„์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ) ์ฐฝ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๊ณ  ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ•˜๋ฉด ๋งค๋ฒˆ ์™„๋ฒฝํ•˜๊ฒŒ ์‹คํ–‰๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋„ ์žˆ์œผ๋ฉด ์ž๋™์œผ๋กœ ๋ฐœ์ƒํ•˜๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ถˆ์•ˆ์ • ํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ „์ฒด ํ™”๋ฉด์—์„œ ์ฐฝ์œผ๋กœ, ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํŽธ์ง‘ : ์•„ ๊ทธ๋ฆฌ๊ณ  ๋˜ ํ•˜๋‚˜ ... Geforce Experience ์•ฑ์„ ๋น„ํ™œ์„ฑํ™”ํ–ˆ์„ ๋•Œ ์ƒํ™ฉ์ด ์ข‹์•„์ง€๋Š” ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

์šด๋™ ํ•™์  ์บ๋ฆญํ„ฐ๊ฐ€์žˆ๋Š” 2D ํ”„๋กœ์ ํŠธ
Godot 3.0.6
Win10 64 ๋น„ํŠธ
์ธํ…” i5-2550K CPU
16GB ๋žจ
Geforce GTX 970

๋‚˜๋Š” ๋‹น์‹ ์ด ์ œ์•ˆํ•œ ๊ฒƒ์„ ์‹œ๋„ํ•˜๊ณ , Geforce Experience๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ , ์ „์ฒด ํ™”๋ฉด์—์„œ ์ฐฝ์œผ๋กœ, ๋‹ค์‹œ ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ์ „ํ™˜์„ ์‹œ๋„ํ•˜๊ณ  vsync๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋น„ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค (vsync๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋” ๋‚˜์จ).
๊ฝค ๋ฌด์ž‘์œ„ ์ ์ด์ง€๋งŒ ๋ง๋”๋“ฌ์—†์ด 15-20 ์ดˆ๋ฅผ ๋„˜์€ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค.

์‹œ๋„ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋„ˆ๋ฌด ์ด์ƒํ•ด, ๋‹น์‹ ์˜ ์‚ฌ์–‘์ด ๋‚ด ๊ฒƒ๋ณด๋‹ค ๋‚ซ๋‹ค. ์ €์˜ ๋ฌธ์ œ๋Š” ๋„ˆ๋ฌด ๋ฌด์ž‘์œ„ ์ ์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ •ํ™•ํ•˜๊ฒŒ ์žฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ํ›Œ๋ฅญํ•˜๊ฒŒ ์‹คํ–‰๋˜๊ณ  ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ๋”๋“ฌ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด Godot ์ž์ฒด์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. Unity๋กœ ๋งŒ๋“  ๊ฒŒ์ž„์ด๋‚˜ ๋‹ค๋ฅธ ๊ฒŒ์ž„ ์—”์ง„์—์„œ ๋Š๊น€ ํ˜„์ƒ์„ ๊ฒฝํ—˜ ํ•œ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ด ๋ง๋”๋“ฌ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

(Godot 3.0.6, Windows 10, 64 ๋น„ํŠธ, i7-8550U, 16GB RAM, NVIDIA GeForce MX150)

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ด๋ฏธ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด๊ฒƒ์€ Godot์—๊ฒŒ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ์— ์ €๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ๊ฒŒ์ž„์„์œ„ํ•œ ํ”„๋กœํ†  ํƒ€์ž…์„ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ”„๋ ˆ์ž„ ์›Œํฌ ๋‚˜ ์—”์ง„ (๋งŽ์€ ๊ฒƒ์„ ์ฐพ์•˜๋‹ค)์„ ๊ฒ€์ƒ‰ํ–ˆ๊ณ , ์ž์œ ๋กญ๊ณ  ๊ฐœ๋ฐฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— Godot๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‚˜๋Š” ๋ง๋”๋“ฌ์„ ๋ฐœ๊ฒฌ ํ•˜๊ณ ์ด ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์œผ๋ฉฐ ์ง„ํ–‰์ด์—†๋Š” ๊ฒƒ ๊ฐ™์•„ ๋†€๋ž์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“  Godot์—์„œ ๋‚ด ์•„์ด๋””์–ด์˜ ํ”„๋กœํ†  ํƒ€์ž…์„ ๋งŒ๋“ค ๊ฒƒ ๊ฐ™์•„์š”. ํ•˜์ง€๋งŒ ์ถœ์‹œ ๊ฐ€๋Šฅํ•œ ๊ฒŒ์ž„์„ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋งˆ ๋‹ค๋ฅธ ์—”์ง„์„ ์‹œ๋„ํ•ด ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. (๋„ˆ๋ฌด ๊ฐ€ํ˜นํ•˜๊ฒŒ ๋“ค๋ฆฝ๋‹ˆ๋‹ค ... ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์œผ๋ฉด Godot๊ฐ€ ์ž ์žฌ์  ์ธ ์ฑ„ํƒ์ž๋ฅผ ๋งŽ์ด ์žƒ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.)

์ด ์ž‘์—…์„ํ•˜๋Š” ์‚ฌ๋žŒ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ง„์ „์ด ์—†์Šต๋‹ˆ๋‹ค. ๋„ค, ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ์€ ์ƒ์šฉ ๊ฒŒ์ž„์„ ์ถœ์‹œํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ godot์—์„œ ํ”„๋กœํ†  ํƒ€์ž…์„ ๋งŒ๋“ค๊ณ  Unity๋กœ ์ด์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (C # ์‚ฌ์šฉ ๊ฐ€๋Šฅ). ์”ฌ-๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ-์ปดํฌ๋„ŒํŠธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์—ผ๋‘์— ๋‘์–ด์•ผํ•˜๋ฉฐ godot์—์„œ ๋ณต์ œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ž‘์—…์ด ์œ ๋™์  ํ๋ฆ„๊ณผ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ๋‹จ์ผํ™”๋˜๊ฑฐ๋‚˜ 2D๊ฐ€ ๊ฒŒ์ž„ ๋ฉ”์ด์ปค๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ godot ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค๋ฅธ ์—”์ง„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  gdscript๋ฅผ ๋ชจ๋“ˆ, gml ๋˜๋Š” unity C #์œผ๋กœ ์ด์‹ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋งค์šฐ ํฐ ์ž‘์—…์ž…๋‹ˆ๋‹ค (๋…ธ๋ ฅ์ด ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฒŒ์ž„์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ) ํ•ญ์ƒ ๋ถˆ์™„์ „ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค (๋ชจ๋“  ์œ ํ˜•์„ ์–ป์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ej : ์ถฉ๋Œ์— ์˜ํ•ด ๋ฐ˜ํ™˜ ๋œ ๊ฐ์ฒด). ๋‚˜๋Š” ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์•ฝ๊ฐ„์˜ ํŒŒ์„œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  tscn๊ณผ tres๋กœ ํŒŒ์„œ๋ฅผ ์‹œ์ž‘ํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ gdscript์˜ ํŒŒ์„œ ๊ฒฐ๊ณผ๋ฅผ unity c #์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ๊ฒŒ์ž„ ๋ฉ”์ด์ปค GML์€ ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ํ•„์š”๋กœํ•˜๊ณ  ์ด๊ฒƒ์— ๋Œ€ํ•œ "ํ•ฉ๋ฒ•์„ฑ"์„ ๋ชจ๋ฅธ๋‹ค (i json ํŒŒ์ผ์˜ ๋ชจ๋“  API ์ด๋ฆ„ ej๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ ์ด๊ฒƒ์˜ IP์— ๋Œ€ํ•ด ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค). ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ๋‹ค๋ฅธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ฒ™์ถ” / ์šฉ๊ณจ์„ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ด์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์ฃผ๋œ ์•„์ด๋””์–ด๋Š” godot์—์„œ ์‹œ์ž‘ํ•˜์—ฌ unity ๋˜๋Š” gm์œผ๋กœ ๋๋‚˜๋Š” ๊ฒƒ์ด์—ˆ์ง€๋งŒ niw์˜ ๊ฒฝ์šฐ ๋‘ํ†ต์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ unity๊ฐ€ ๋˜‘๊ฐ™์ด ์ด์‹ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด (ํ•„์š”ํ•œ ๊ฒฝ์šฐ), godot์ฒ˜๋Ÿผ ์ž‘๊ณ  ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (32 ๋น„ํŠธ ํŽธ์ง‘์ž) ์ €๋Š” ๋ช‡ ๋‹ฌ ์ „์— ๋ฉ”์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํฌํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” godot์„ ์ข‹์•„ํ•˜์ง€๋งŒ ์†Œ๊ทœ๋ชจ ํŒ€ (๋˜๋Š” ์ €์™€ ๊ฐ™์€ ๋…์‹ ์ž)์˜ ์ค‘๊ฐ„ ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์™„์„ฑ ๋œ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งŽ์€ ๊ฒƒ์„์ฃผ์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ๋ณด์žฅ์€ ์•„๋ฌด๋„ ์—†์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ. ํ•˜์ง€๋งŒ ๋‹น์‹ ์˜ ํŒ€์— ์ข‹์€ C ++ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์žˆ๋‹ค๋ฉด, ๋‹น์‹ ์€ ํ•ญ์ƒ ๋‹น์‹ ์˜ ๊ฒŒ์ž„์— godot์„ ์ ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (ํ†ตํ•ฉ์ ์œผ๋กœ๋Š” ํ•  ์ˆ˜ ์—†์ง€๋งŒ ๋ฒ„๊ทธ๊ฐ€ ์ ์Šต๋‹ˆ๋‹ค) ....
๋‚˜๋Š” ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ์—์„œ ํŽธ์ง‘๊ธฐ์˜ ๋‚ฎ์€ ์„ฑ๋Šฅ๊ณผ ๋‚ด ๋ณด๋‚ธ ๊ฒŒ์ž„์„ ์‹ซ์–ดํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ์ด ๋ฌธ์ œ๊ฐ€ ์‹ซ์ง€๋งŒ, ๋” ๋งŽ์€ ํ†ต์ผ์„ฑ์ด ์‹ซ๋‹ค (์™œ ๋‚ด๊ฐ€ ํŽธ์ง‘๊ธฐ๋ฅผ ์—ด๋ ค๋ฉด ๋ชจ๋“  ์ปดํ“จํ„ฐ์— ์ธํ„ฐ๋„ท์ด ํ•„์š”ํ•œ๊ฐ€? ๋‚˜๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ํ•œ ๋Œ€ ์—†๋‹ค!) ๋„ˆ๋ฌด๋‚˜ ๊นŠ์ด์žˆ๋Š” ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ... ์ €๋Š” godot์ด ๋ง๋”๋“ฌ์„ ๋ฉˆ์ถ”๊ณ  ์„ฑ๋Šฅ๊ณผ ๋‚ด๋ณด๋‚ด๊ธฐ ์ž‘์—…์„ํ•œ๋‹ค๋ฉด ์•ž์œผ๋กœ ๋‚˜์˜ฌ ๋ฉ‹์ง„ ๊ฒŒ์ž„์„ ๋ณผ ์ˆ˜์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ค๋Š˜์ด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด nVidia GTX 1060์ด ์„ค์น˜๋œ Windows 10์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฐฝ ๋ชจ๋“œ ์ธ The Binding of Isaac์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ง์„ ๋”๋“ฌ ์ง€ ์•Š๊ณ  ์›์„ ๊ทธ๋ฆฌ๋ฉฐ ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค (์ดํ›„์—๋Š” ์ ์–ด๋„ 30 ์ดˆ ๋™์•ˆ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค). ๊ฒŒ์ž„์— V-sync๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๊ทธ๋Ÿฌํ•œ ์„ค์ •์ด ์—†์Šต๋‹ˆ๋‹ค.

Minecraft, ์ฐฝ ๋ชจ๋“œ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€์—ฐ์ด์—†๊ณ  ๋ง๋”๋“ฌ์ด์—†๋Š” ๋•…์„ ๋ฐ”๋ผ ๋ณด๋Š” ํ‰ํ‰ํ•œ ์„ธ๊ณ„๋ฅผ๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฝค ํฐ ์ตœ์ข… ๊ฒŒ์ž„ ํŒฉํ† ๋ฆฌ์™€ ํ•จ๊ป˜ ์—ฌ์ „ํžˆ ์ฐฝ ๋ชจ๋“œ ์ธ Factorio๋ฅผ ์—ด์—ˆ๋‹ค. ๋”๋“ฌ ๊ฑฐ๋ฆฌ์ง€ ์•Š๊ณ  ์ง์„ ์œผ๋กœ ๋‹ฌ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ V-sync๋Š” ๊บผ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์›์„ ์ผœ๊ณ  ๊ฒŒ์ž„์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด๋„ ์—ฌ์ „ํžˆ ๋Š๊น€์ด ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” Slick2D (OpenGL)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ์˜ค๋ž˜๋œ ์ž๋ฐ” ๊ฒŒ์ž„์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ต์…˜์„ ํ™•์ธํ•˜๋ฉด V-sync๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. V-sync๋ฅผ ๋„๋ฉด ๋งค์ดˆ๋งˆ๋‹ค ๋Š๊น€์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„ ์†๋„ ์ œํ•œ์„ ๋‘ ๋ฐฐ๋กœํ•ด๋„ ๋Š๊น€์ด ์—†์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ €๋Š” Godot 3.1 alpha3๋กœ 3D ํ”„๋กœ์ ํŠธ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋งต์—๋Š” ์•ฝ๊ฐ„์˜ ์• ์…‹๊ณผ ์›€์ง์ด๋Š” ์บ๋ฆญํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋Š๊น€์—†์ด 20 ์ดˆ๋งˆ๋‹ค ํ•œ ๊ฐœ์”ฉ ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ Godot 3.0.6์—์„œ ํฌํŒ… ํ•œ 2D ํ”„๋กœ์ ํŠธ Wallrider๋ฅผ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค : ๋™์ผํ•˜๊ณ , ๊ท€์ฐฎ๊ฒŒํ•˜๊ธฐ์—๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (20 ์ดˆ๋‹น ๋ฌด์ž‘์œ„ 1 ๊ฐœ).

์œ„์˜ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—๋Š” ๊ณตํ†ต์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ™”๋ฉด์— ํ•˜๋‚˜์˜ ์Šคํ”„๋ผ์ดํŠธ ๋งŒ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

Godot 3.1 alpha3๋กœ @crystalnoir ํ…Œ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ๋„ํ•˜๋ฉด ์ฆ‰๊ฐ์ ์ด๊ณ  ๋ถˆ๊ทœ์น™ํ•œ ๋นˆ๋ฒˆํ•œ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ํ‘œ์‹œ / ์ตœ๋Œ€ํ™” ํ•œ ํ›„ ์•ฝ 30 ์ดˆ ๋™์•ˆ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๋‚˜๋Š” _physics_process ์ „ํ™˜์„ ์‹œ๋„ํ–ˆ๊ณ  delta = 1.0 / 60.0 ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋ชจ๋‘ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. delta ์ธ์‡„ํ•˜๋ฉด ๋งค์ดˆ๋งˆ๋‹ค ๋ณ€๋™์ด ์žˆ์Œ์„ ๋ณด์—ฌ ์ฃผ์ง€๋งŒ ๊ฒŒ์ž„์€ delta ๊ฐ€ ์ „ํ˜€ ๋ฐ˜์˜ํ•˜์ง€ ์•Š๋Š” ์ดˆ๋‹น ์—ฌ๋Ÿฌ ๋ฒˆ ๋Š๊น€์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์—๋””ํ„ฐ์—†์ด ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ Godot 2.1.5๋กœ ํฌํŒ…์„ ์‹œ๋„ํ–ˆ๋Š”๋ฐ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (ํ”„๋กœ์ ํŠธ : Stuttering_issue19783.zip )

๊ทธ๋ฆฌ๊ณ  ์ด์ œ ์ด๊ฒƒ์ด ํฅ๋ฏธ๋กœ์šด ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
3D ๊ฒŒ์ž„๊ณผ @crystalnoir ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ํ™”๋ฉด์—์„œ ์—ฐ์†์ ์œผ๋กœ ์—ด๋ฉด ๋‘˜ ๋‹ค ์›ํ™œํ•˜๊ฒŒ ์ฆ‰์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. 2D ๊ฒŒ์ž„์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์กฐ๊ธˆ ๋”๋“ฌ ๊ฑฐ๋ฆฌ์ง€ ๋งŒ ๊ทธ๋‹ค์ง€ ๋งŽ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. 3D ๊ฒŒ์ž„์„ ๋‹ซ์•„๋„ ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ 2D ๊ฒŒ์ž„์„ ์ค„์ด๊ณ  ๋‹ค์‹œ ์ตœ๋Œ€ํ™”ํ•˜๋ฉด ๋”์ฐํ•œ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ๋์ด ์•„๋‹™๋‹ˆ๋‹ค!
์ด์ œ 2D ๊ฒŒ์ž„์— 3D ์นด๋ฉ”๋ผ๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ˆ ์ฒ˜๋Ÿผ ๋ง๋”๋“ฌ์€ ๊ทธ์ € ๊ทธ๋ ‡๊ฒŒํ•จ์œผ๋กœ์จ ๊ธ‰๊ฒฉํžˆ ๊ทธ๋ฆฌ๊ณ  ์ฆ‰์‹œ ๊ฐ์†Œ๋ฉ๋‹ˆ๋‹ค.
PlayerWith3D ์žฅ๋ฉด์—์„œ ์ง์ ‘ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Stuttering_issue19783.zip
๊ธฐ๋ณธ์ ์œผ๋กœ ์–ผ๋งˆ๋‚˜ ๋ถ€๋“œ๋Ÿฌ์šด ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์ด์ œ magic ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  3D ํ™˜๊ฒฝ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค (๊ทธ๋ž˜๋„ ํ•ญ์ƒ 100 %๋กœ ๋Œ์•„๊ฐ€์ง€๋Š” ์•Š์ง€๋งŒ PlayerWith3D.tscn์ด ํ•ญ์ƒ Player.tscn๋ณด๋‹ค ์ข‹์•„ ๋ณด์ด๋Š” ๊ฒƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ).

๋” ๋‚˜์•„๊ฐ€ nVidia ์ œ์–ดํŒ์„ Optimal Power (๊ธฐ๋ณธ๊ฐ’)์—์„œ Maximum performance ๋ณ€๊ฒฝํ•˜๋ฉด ์–ด๋–ป๊ฒŒ๋˜๋Š”์ง€๋ณด๊ณ  ์‹ถ์ง€๋งŒ ... ์Œ ...
image

์–ด์จŒ๋“ , ๋‚ด๊ฐ€ ์ถ”์ธก ํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ์€ (ํ•˜์ง€๋งŒ ์ถ”์ธก ์ผ ๋ฟ์ด๋ฏ€๋กœ ์†Œ๊ธˆ ํ•œ ์•Œ๋กœ ๊ฐ€์ ธ ๊ฐ€์‹ญ์‹œ์˜ค) : ๊ทธ๊ฒƒ์€ ์ง์ ‘ Godot์˜ ์ž˜๋ชป์ด ์•„๋‹™๋‹ˆ๋‹ค. "์Šค๋งˆํŠธ"ํ•˜๋ ค๋Š” ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„์ž…๋‹ˆ๋‹ค.

๋ง๋”๋“ฌ์˜ ์‹ ์„ ์œ„ํ•ด !!! ๐Ÿ˜‚๐Ÿ˜‚๐Ÿ˜‚

์ด๊ฑด ๊ทธ๋ƒฅ ๋ฒ„๋ฆฌ๊ณ  ... 2018 ๋…„ 11 ์›” ํ˜„์žฌ Steam์—์„œ ์ƒ์œ„ 14 ๊ฐœ์˜ ๋น„๋””์˜ค ์นด๋“œ๋Š” Nvidia์ž…๋‹ˆ๋‹ค. ๊ฐ GPU ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ƒ์œ„ ์นด๋“œ๋ฅผ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

NVIDIA GeForce GTX 1060 : Steam ์‚ฌ์šฉ์ž์˜ 14.60 %.
AMD Radeon R7 ๊ทธ๋ž˜ํ”ฝ : 1.06 %์˜ Steam ์‚ฌ์šฉ์ž.
Intel HD Graphics 4000 : Steam ์‚ฌ์šฉ์ž์˜ 1.06 %.

https://store.steampowered.com/hwsurvey/videocard/

์œ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์•ˆํ•  ๋•Œ์ด ๋ฌธ์ œ๊ฐ€ ์ตœ์šฐ์„  ๊ณผ์ œ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋Œ€๋‹ค์ˆ˜์˜ ๊ฒŒ์ด๋จธ๋Š” Nvidia ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์ง€๊ธˆ๊นŒ์ง€ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค. Radeon ๋ฐ Intel ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž์˜ ์ˆ˜๋Š” ๋น„๊ตํ•ด ๋ณด๋ฉด ์ ์Šต๋‹ˆ๋‹ค.

@Ranoller ... ๋‹น์‹ ์€ ๋‚˜๋ฅผ ์ฃฝ์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์—๊ฒŒ Godot์—์„œ ํ”„๋กœํ†  ํƒ€์ž…์„ ์ œ์ž‘ํ•˜๋ผ๊ณ  ๋งํ•˜์ง€๋งŒ (Godot ์ด์Šˆ ์Šค๋ ˆ๋“œ์—์„œ) ์ƒ์—…์  ํƒ€์ดํ‹€์„ ์œ„ํ•ด Unity๋กœ ํฌํŒ…ํ•˜๋Š” ๊ฒƒ์€ ๋‚ด๊ฐ€ ๋“ค์–ด ๋ณธ ๊ฒƒ ์ค‘ ๊ฐ€์žฅ ์šฐ์Šค๊ฝ์Šค๋Ÿฝ๊ณ  ๋ถˆ์พŒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@Zylann ์ „์› ๊ด€๋ฆฌ ๋ชจ๋“œ๋ฅผ "Perfer maximum performance"๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์ •ํ–ˆ์ง€๋งŒ ๋Š๊น€ ํ˜„์ƒ์ด ๊ฐœ์„ ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

@ behelit2 ๊ณต๊ฒฉ ์—†์Œ

@Zylann ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ…์Šค์ฒ˜๊ฐ€์žˆ๋Š” ํƒ€์ผ ๋งต์„ ๋ Œ๋”๋งํ•˜๋Š” ์žฅ๋ฉด ์•ž์— ๋ฉ”์‹œ๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” 3D ์นด๋ฉ”๋ผ๋ฅผ ๋†“๊ณ  ์ดˆ์ ์„ ๋งž์ถ˜ ํ›„ ๋ช‡ ์ดˆ ๋™์•ˆ godot์ด ๋”๋“ฌ ๊ฑฐ๋ฆฌ๋Š” ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ ์žฅ๋ฉด์—๋Š” ์ด์ „์— ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ sttuter ( "์ดˆ๊ธฐ"๋งŒ)๊ฐ€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์—์ด ํŠธ๋ฆญ์ด ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ณ ์น˜๋Š” ์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ํฅ๋ฏธ ๋กญ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ํ…Œ์ŠคํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” godot์˜ ์œ ํœด ์‹œ๊ฐ„์ด ์ปดํ“จํ„ฐ์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ "์ง€์—ฐ"ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ์•„๋งˆ๋„ ์šด์˜ ์ฒด์ œ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. FPS, CPU ์‚ฌ์šฉ, ๋ง๋”๋“ฌ์˜ ์—์–ด๋กœ ์œ ๋ฌด์— ๋”ฐ๋ฅธ ์ฐจ์ด๊ฐ€ ๋„ˆ๋ฌด ํฌ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๊ฐ€ ์•„๋‹Œ ์Šค๋งˆํŠธํ•˜๋ ค๊ณ ํ•˜๋Š” OS ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹ค๋ฅธ ๊ฒŒ์ž„์ดํ•˜๋Š” ์ผ์„ ๋ถ„์„ํ•˜๋Š” Zylann ์•„์ด๋””์–ด๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ฃผ์ œ์—์„œ ๋ฒ—์–ด๋‚œ ๊ฒƒ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผํ–ˆ์Šต๋‹ˆ๋‹ค.
์šฐ์„  ์ŠคํŒ€ ๊ฒŒ์ž„์˜ 95 %๊ฐ€ 32 ๋น„ํŠธ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค (์ตœ๊ทผ ์ถœ์‹œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค). ๊ฒŒ์ž„์˜ ๋™์ผํ•œ ๋น„์œจ์ด directx์— ์˜ํ•ด ๋ Œ๋”๋ง๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„์ด ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์บก์ฒ˜ํ•˜๊ณ  ๋ Œ๋”๋ง์—์„œ ์–ด๋–ค ์ผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ •๋ณด ๋’ค์—๋Š” (๊ฒฐ๋ก ์ด ์—†์œผ๋ฉฐ ์ •๋ณด ์ผ๋ฟ์ž…๋‹ˆ๋‹ค) :

๊ฒŒ์ž„ / ์‹คํ–‰ ๊ฐ€๋Šฅ ๋น„ํŠธ / ์—”์ง„ / Windows 7 64 ๋น„ํŠธ ๋ฐ ๋ฉ”๋ชจ์—์„œ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค.

  • HyperLightDrifter-> 32 ๋น„ํŠธ / Game Maker / Windows GDI
  • ํ›„ํฌ-> 32 ๋น„ํŠธ / Unity / Windows GDI
  • Nidhogg-> 32 ๋น„ํŠธ /? / Windows GDI
  • Ori and the blind forest-> 32 ๋น„ํŠธ / Unity / Windows GDI. godot์ฒ˜๋Ÿผ OPENGL32๋ผ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜์ง€๋งŒ Windows GDI์—์„œ๋Š” ์ผ์ข…์˜ ๋ž˜ํผ์ž…๋‹ˆ๋‹ค. OpenGL32์˜ ๋‹จ์ผ ํ˜ธ์ถœ์ด ์•„๋‹ˆ๋ผ ๋ชจ๋“  ํ˜ธ์ถœ์ด Windows GDI์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
    ori1

  • Dust : An Elysyian Tail-> 32 ๋น„ํŠธ / Microsoft XNA / Windows GDI. gameoverlayrenderer.dll์ด ์žˆ์œผ๋ฉฐ ๋ชจ๋“  ํ˜ธ์ถœ์€ ์—ฌ๊ธฐ (ClientToScreen)์—์„œ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. OpenGL dll์ด ์—†์Šต๋‹ˆ๋‹ค.

  • SuperMeatBoy-> 32 ๋น„ํŠธ, Steam ์˜ค๋ฒ„๋ ˆ์ด, Windows GDI ๋‚ด์—์„œ ์‹คํ–‰
  • ฮ”V : Rings of Saturn (๋ฐ๋ชจ)-> 64 ๋น„ํŠธ, godot / OpenGL ๋ฐ Windows GDI ํ˜ธ์ถœ ์‹คํ–‰, OpenGl SwapBuffers์— ๋Œ€ํ•œ ๋‹จ์ผ ํ˜ธ์ถœ ์ˆ˜ํ–‰-๊ฐ’์ด 8 ์ธ GetPixelformat Windows GDI๋ฅผ ๋งŽ์ด ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ค‘๋ณต ํ†ตํ™”๋ฅผํ•ฉ๋‹ˆ๊นŒ? WindowsFromDC-SetRect (์ฐฝ ํฌ๊ธฐ), OffsetRect.
    ring1

  • Bastion-> 32 ๋น„ํŠธ / SDL2 / Windows GDI์—†์ด ์ˆœ์ˆ˜ํ•œ OpenGL ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•˜๊ณ , ๊ฐ’ 10์œผ๋กœ ํ•ญ์ƒ swapBuffers-GetPixelFormat์˜ ๊ณ ์œ  ํ•œ ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • SouthPark ์ง„์‹ค์˜ ์Šคํ‹ฑ-> 32 ๋น„ํŠธ / Unknow ์—”์ง„ / Windows GDI์—์„œ ๋ชจ๋“  ํ˜ธ์ถœ ์‹คํ–‰, direct3D v 9 (d3d9.dll์ด ์žˆ์ง€๋งŒ์ด ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ๊ฑฐ์˜ ํ˜ธ์ถœํ•˜์ง€ ์•Š์Œ), ๋Œ€๋ถ€๋ถ„์˜ ํ˜ธ์ถœ์€ steam ๋ฐ uxtheme.dll์˜ gameoverlayrenderer์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. OffsetRect ๋ฐ IsRectEmpty ๋ฐ ๊ธฐํƒ€ ์ฐฝ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    southpark1

  • Sine Mora-> 32 ๋น„ํŠธ / Unknow ์—”์ง„ / Steam ์˜ค๋ฒ„๋ ˆ์ด, dicect3d 9๋กœ Windows GDI์˜ ๋ชจ๋“  ํ˜ธ์ถœ ์‹คํ–‰

  • Apotheon-> 32 ๋น„ํŠธ / Microsoft XNA / Windows GDI์˜ ๋ชจ๋“  ํ˜ธ์ถœ, ์ŠคํŒ€ ์˜ค๋ฒ„๋ ˆ์ด์—์„œ ๋‹จ์ผ ํ˜ธ์ถœ (ํด๋ผ์ด์–ธํŠธ์—์„œ ํ™”๋ฉด์œผ๋กœ), Microsoft XNA์˜ ๋‹จ์ผ ํ˜ธ์ถœ (ScreenToClient), uxtheme.dll์ด๋ผ๋Š” ํ”„๋กœ์„ธ์Šค์—์„œ ํ˜ธ์ถœ (์ฐฝ ๊ด€๋ฆฌ windows?)๋ฅผ IsRectEmpty ๋ฐ PtInrect (๋ชจ๋“  ๋ถ€์šธ)๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
  • Eggs return home-> 64 bit / Godot / Calls from OpenGL and from windows GDI, same as the Ring of Saturn.
  • ๊ณผ ์นด๋ฐ€๋ฆฌ! Super turbo ....-> 32bit / Unknow engine์ด์ง€๋งŒ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ sine mora์™€ ์œ ์‚ฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒŒ์ž„์€ ํ™”๋ฉด ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. / Windows GDI์˜ ๋ชจ๋“  ํ˜ธ์ถœ.
  • Not a Hero-> 32 ๋น„ํŠธ / SDL2 (์œ„ํ‚ค ๋ฐฑ๊ณผ๋Š” ClickTeam Fusion์ด๋ผ๊ณ  ํ•จ) / Windows GDI Directx 9์˜ ๋ชจ๋“  ํ˜ธ์ถœ
  • Middle Earth Shadow of War-> 64 ๋น„ํŠธ (์˜ˆ, ํ•˜๋‚˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค) / Intro๋Š” Firebird, ์ง€๊ธˆ์€ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. / Windows GDI์˜ ๋ชจ๋“  ํ˜ธ์ถœ์€ ๋งค์šฐ ์ ์ง€ ๋งŒ ๋‹ค๋ฅธ ๊ฒŒ์ž„์—์„œ๋Š” ํ˜ธ์ถœ์ด ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ์ดˆ๋‹น ์ผ๋ถ€ ํ˜ธ์ถœ (ej, godot api ํ˜ธ์ถœ์„ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ดˆ๋‹น ํ†ค์ด ์žˆ์Šต๋‹ˆ๋‹ค). ํ•˜์ง€๋งŒ์ด ๊ฒŒ์ž„์€ GPU๋ฅผ ํƒœ ์›๋‹ˆ๋‹ค.

์ดˆ์ ์ด ๋งž์ถฐ์ง„ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒŒ์ž„์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ์ผ์‹œ ์ค‘์ง€ (์ข‹์€ ์—ฐ์Šต์ผ๊นŒ์š”?)ํ•˜๊ณ  ํ™”๋ฉด ํฌ๊ธฐ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์กฐ์ •ํ•  ์ˆ˜์žˆ๋Š” ๊ฒŒ์ž„์€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค (ej : ์˜์›…์ด ์•„๋‹˜). ์Šฌํ”„๊ฒŒ๋„ ฮ”V : Rings of Saturn (๋ฐ๋ชจ)์—์„œ ์ดˆ์  ์†์‹ค / ์ดˆ์  ์ด๋“์ด๋ผ๋Š” ๋ง๋”๋“ฌ์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ : godot์ด OpenGL32์™€ WindowsGDI ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ์œ ์ผํ•œ ์—”์ง„ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉํ•œ ์•ฑ : API Monitor v2

(ํŽธ์ง‘ : ฮ”V์˜ ์ •ํ™•ํ•œ ์ด๋ฆ„ : ํ† ์„ฑ์˜ ๊ณ ๋ฆฌ (๋ฐ๋ชจ))

Rings of Saturn์ด ์˜๋ฏธํ•˜๋Š” ๊ฒฝ์šฐ ฮ”V : Rings of Saturn (๋ฐ๋ชจ), Godot 3.1๋กœ ์ œ์ž‘๋˜์—ˆ์ง€๋งŒ ์‚ฌ์šฉ ๋œ ์ •ํ™•ํ•œ ๊ฐœ์ •ํŒ์ด ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๋Š๊น€์˜ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์‹œ๊ฐ„์„ ๋…ธ๋ ฅํ•œ ๋์—, ์ ์–ด๋„ ์ œ ๊ฒฝ์šฐ์—๋Š” '์—๋””ํ„ฐ ์„ค์ •'์—์„œ '์›๊ฒฉ ์žฅ๋ฉด ํŠธ๋ฆฌ๋กœ ์ž๋™ ์ „ํ™˜'์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ์ผ๊ด€๋œ 1 ์ดˆ ๋Š๊น€ ํ˜„์ƒ์„ ์šฐ์—ฐํžˆ ์ถ”์ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‘œ์‹œ๋ฅผ ํ•ด์ œํ•˜๋ฉด ๋Š๊น€ ํ˜„์ƒ๊ณผ ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. (์•„์ฃผ ์•ฝ๊ฐ„์˜ ๋ง๋”๋“ฌ์ด์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฑฐ์˜ ๋ˆˆ์— ๋„์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

godot windows tools 64_2018-11-14_01-19-20

Godot ๋นŒ๋“œ 8849d3b
Win10 64 ๋น„ํŠธ, NVIDIA GeForce GTX 660, ๋“œ๋ผ์ด๋ฒ„ v416.81

๋‚˜๋Š” ๋™์ผํ•œ ๋ง๋”๋“ฌ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  ์›๊ฒฉ ํŠธ๋ฆฌ๋กœ ์ž๋™ ์ „ํ™˜์„ ์„ ํƒ ์ทจ์†Œํ•˜๋Š” ๊ฒƒ์ด ์›์ธ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ง€ํ„ฐ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์€ ์ ์ ˆํ•œ ํ•ด๊ฒฐ์ฑ…์ด์—†๋Š” ๊ฒƒ ๊ฐ™๊ณ  ์ •๋ง ๋„์›€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” Godot๋กœ ๋งŒ๋“  ์ œ ๊ฒŒ์ž„์— ๋Œ€ํ•ด ํผ๋ธ”๋ฆฌ์…”์™€ ๊ณ„์•ฝ์„ ์ฒด๊ฒฐํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ง€ํ„ฐ ๋•Œ๋ฌธ์— ์ œ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ Unity๋กœ ์˜ฎ๊ฒจ์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์ œ์ณ๋‘๊ณ  ์ด๋™ํ•˜๋Š” ์‹œ๊ฐ„๊ณผ ๋น„์šฉ, ์ €๋Š” Godot์™€ Godot ์ž์ฒด์˜ ๋””์ž์ธ ์ฒ ํ•™์„ ์ •๋ง ์ข‹์•„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์—”์ง„์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ๋ฅผ ๊บผ๋ฆฝ๋‹ˆ๋‹ค.

๋˜ํ•œ 3.1์—์„œ 'Physics Jitter Fix'์˜ต์…˜์ด ์„ค์ • ๋ฉ”๋‰ด (https://twitter.com/reduzio/status/984783032459685890)์— ์ถ”๊ฐ€๋˜์—ˆ์ง€๋งŒ ๋„์›€์ด๋˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

Godot ๋ฒ„์ „ :
Godot 3.0.6

๋ฒ„์ „์„ ํฌํ•จํ•œ OS / ์žฅ์น˜ :
MacOS 10.14.1
MacBook (Retina, 12 ํ˜•, 2017)
1.2GHz Intel Core m3
8GB 1867MHz LPDDR3
Intel HD ๊ทธ๋ž˜ํ”ฝ 615 1536MB
(๊ทธ๋Ÿฌ๋‚˜์ด ๋ฌธ์ œ๋Š” PC ๋ฐ ๋ชจ๋ฐ”์ผ ๋ฐ PC์—์„œ ๋‚ด ๋ณด๋‚ธ ๊ฒŒ์ž„์„ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ์žฅ์น˜์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.)

๋ฌธ์ œ ์„ค๋ช… :
์›€์ง์ด๋Š” ๋ฌผ์ฒด๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ํ™”๋ฉด์ด ๋ฉˆ์ถค๊ณผ ํ•จ๊ป˜ ํ”๋“ค ๋ฆฌ๊ฑฐ๋‚˜ ํ”๋“ค๋ฆฌ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„ :
KinematicBody2D ๋˜๋Š” AnimatedSprite๋กœ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Camera2D๋ฅผ ์ž์‹ ๋…ธ๋“œ๋กœ ์ถ”๊ฐ€ ํ•œ ํ›„ move_and_slide () ๋˜๋Š” set_position ()์œผ๋กœ ์œ„์น˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์ด ๋‚ฎ์€ ์žฅ์น˜์—์„œ ๋” ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ตœ์†Œ ์žฌ์ƒ์‚ฐ ํ”„๋กœ์ ํŠธ :
Godot_Jitter.zip


KinematicBody2D, _physics_process (), move_and_slide ()

https://youtu.be/78S95yugRDk

extends KinematicBody2D
const SPEED = 75
var motion = Vector2()

func _physics_process(delta):
    if Input.is_action_pressed('ui_right'): motion.x = SPEED
    elif Input.is_action_pressed('ui_left'): motion.x = -SPEED
    else: motion.x = 0
    motion = move_and_slide(motion, Vector2(0, -1))
    print(delta, position)

AnimatedSprite, _physics_process (), set_global_position ()

https://youtu.be/gdc6NOoWG4E

extends AnimatedSprite
const SPEED = 75
var motion = Vector2()

func _physics_process(delta):
    if Input.is_action_pressed('ui_right'): motion.x = SPEED
    elif Input.is_action_pressed('ui_left'): motion.x = -SPEED
    else: motion.x = 0
    set_global_position(get_global_position() + motion*delta)
    print(delta, position)

KinematicBody2D, _process (), set_global_position ()

https://youtu.be/YVFtkbuyqEQ

extends KinematicBody2D
const SPEED = 75
var motion = Vector2()

func _process(delta):
    if Input.is_action_pressed('ui_right'): motion.x = SPEED
    elif Input.is_action_pressed('ui_left'): motion.x = -SPEED
    else: motion.x = 0
    set_global_position(get_global_position() + motion*delta)
    print(delta, position)

Win 7 64 ๋น„ํŠธ, GTX 660 (๋“œ๋ผ์ด๋ฒ„ 391.35), Godot 3.0.6 ๋ฐ 3.1-beta1

์•ˆ๋…•ํ•˜์„ธ์š”, ์›๋ž˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์กฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค (์• ๋‹ˆ๋ฉ”์ด์…˜ ์ค‘์ง€, ์œ„์น˜๋ฅผ ์ˆ˜๋™์œผ๋กœ ์กฐ์ •ํ•˜๋Š” ๋Œ€์‹  ๊ฐ•์ฒด ์‚ฌ์šฉ, ์•ฝ๊ฐ„ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐฐ๊ฒฝ ์ถ”๊ฐ€ ๋“ฑ).

์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค : FirstGame_2.zip

~ 500x500 ํฌ๊ธฐ์˜ ์ฐฝ๊ณผ 1920x1080์˜ ๋ชจ๋‹ˆํ„ฐ ํ•ด์ƒ๋„๋กœ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋‚ด ๊ด€์ฐฐ :

  • ์ง€ํ„ฐ๋Š” ์ „ ๋ฐฉํ–ฅ์„ฑ์ž…๋‹ˆ๋‹ค (์ผ๋ฐ˜์ ์ธ vsync ๋ฌธ์ œ์™€ ๊ฐ™์ด ์ˆ˜์ง์  ์ผ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ)
  • ์ฐฝ ํฌ๊ธฐ๊ฐ€ ์ž‘์„์ˆ˜๋ก ์ง€ํ„ฐ๊ฐ€ ๋” ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • vsync๋ฅผ ๋„๋ฉด ์ง€ํ„ฐ๊ฐ€ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค (๋‹ค์Œ ๊ธ€ ๋จธ๋ฆฌ ๊ธฐํ˜ธ๋Š” vsync๊ฐ€ ์ผœ์ ธ ์žˆ์Œ).
  • ํ™”๋ฉด ์— ์„ ์‹คํ–‰ํ•˜๋ฉด (์ตœ์†Œํ™”ํ•˜์—ฌ ๋ฐ”ํƒ• ํ™”๋ฉด-์•„์ด์ฝ˜, ๋ฐฐ๊ฒฝ ํ™”๋ฉด, ์ž‘์—… ํ‘œ์‹œ ์ค„ ๋ฐ ํŒŒ์ผ ๊ด€๋ฆฌ์ž ๋˜๋Š” ํ„ฐ๋ฏธ๋„๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ์ •์  ์ฐฝ์ผ ์ˆ˜ ์žˆ์Œ) ์ง€ํ„ฐ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฒŒ์ž„์„ ๋‚ด๋ณด๋‚ด๊ฑฐ๋‚˜ ํŽธ์ง‘๊ธฐ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ฐ™์€ ํ™”๋ฉด์—์„œ quakespasm-sdl2๋กœ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋ฉด (์ข€๋น„๊ฐ€ ๋ฌผ์†์—์„œ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ๊ณต๊ฒฉํ•˜๋Š” ๊ฒฝ์šฐ) ์•ฝ๊ฐ„์˜ ํ”๋“ค๋ฆผ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • shadertoy ์‚ฌ์ดํŠธ (์ด ๋ฐ๋ชจ : https://www.shadertoy.com/view/ll3fz4)์—์„œ ์ผ์‹œ ์ค‘์ง€๋˜์ง€ ์„ ์‹คํ–‰ํ•˜๋ฉด ๋™์ผํ•œ ํ™”๋ฉด์—์„œ ๋งŽ์€ ์ง€ํ„ฐ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • ์…ฐ์ด๋” ํ† ์ด ์‚ฌ์ดํŠธ์—์„œ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ–ˆ์ง€๋งŒ ์ผ์‹œ ์ •์ง€ํ•˜๋ฉด ๊ฐ™์€ ํ™”๋ฉด์—์„œ ์•ฝ๊ฐ„์˜ ํ”๋“ค๋ฆผ์ด ๋ณด์ž…๋‹ˆ๋‹ค.
  • ์—๋””ํ„ฐ์— ํ‘œ์‹œ๋œ ์”ฌ์ด ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์€ ์ƒํƒœ (Player.tscn)๋กœ ๊ฐ™์€ ํ™”๋ฉด์—์„œ ์—๋””ํ„ฐ๋กœ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋ฉด ์•ฝ๊ฐ„์˜ ์ง€ํ„ฐ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • ํŽธ์ง‘๊ธฐ์—์„œ ์ž์ฃผ ์—…๋ฐ์ดํŠธ๋˜๋Š” ์žฅ๋ฉด (main.tscn, ์• ๋‹ˆ๋ฉ”์ด์…˜ ์…ฐ์ด๋”๊ฐ€ ์žˆ์Œ) ์„ ์‹คํ–‰ํ•˜๋ฉด ์ง€ํ„ฐ๊ฐ€ ๋งŽ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

Aero๋ฅผ ๋„๊ณ  ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ? ๋น ๋ฅด๊ฒŒ ์•ž๋’ค๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์žŠ์œผ์…จ์Šต๋‹ˆ๊นŒ?

@ starry-abyss๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—์–ด๋กœ๋ฅผ ๋„๊ณ  โ€‹โ€‹๊ตฌ์„ฑ ํŒจ๋„๋กœ ์ด๋™ํ•˜์—ฌ "๋ชจ์–‘ ๋ฐ ๊ฐœ์ธ ์„ค์ •"์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์—์„œ ์‹œ๊ฐ ํšจ๊ณผ๊ฐ€์—†๋Š” "Windows ํด๋ž˜์‹"๊ณผ ๊ฐ™์€ ์ด์ „ ํ…Œ๋งˆ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. t Aero) ๋˜๋Š” "Windows 7 Classic"์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์ข‹์Šต๋‹ˆ๋‹ค. ํด๋ž˜์‹ ํ…Œ๋งˆ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ™”๋ฉด์— shadertoy / editor๊ฐ€์žˆ๋Š” ๊ฒŒ์ž„์ด ๋Š๊น€ ์ƒํƒœ์—์„œ ๋งค๋„๋Ÿฝ๊ฒŒ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค (๊ฐ ์ƒํƒœ๋Š” ๋ช‡ ์ดˆ ๋™์•ˆ ์œ ์ง€ ๋  ์ˆ˜ ์žˆ์Œ). ์ด ๋ชจ๋“œ์—์„œ๋Š” ๋Š๊น€ ํ˜„์ƒ์ด ์ˆ˜์ง ํ”„๋ ˆ์ž„ ์ฐข์–ด์ง์„ ๋™๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, Firefox ์Šคํฌ๋กค๋ง์กฐ์ฐจ๋„ ๊ณ ์ „์ ์ธ ํ…Œ๋งˆ๋กœ ๋ˆˆ๋ฌผ์„ ํ˜๋ฆฝ๋‹ˆ๋‹ค : 'D

๋‚˜๋Š” diiiiiiiii๊ฐ€ ๊ฐ€์ง„ ๊ฒƒ๊ณผ ๋˜‘๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. move_and_slide ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋‚ด ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๋ฉด๋ฐ€ํžˆ ์ง€์ผœ ๋ณด๋Š” ๊ฒƒ์€ ํ”Œ๋ ˆ์ด์–ด ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ํ”๋“ค๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ทธ ๋’ค์—์žˆ๋Š” ์‹œ์ฐจ ๋ฐฐ๊ฒฝ์ž…๋‹ˆ๋‹ค.

์šด๋™ ํ•™์  ์บ๋ฆญํ„ฐ๊ฐ€์žˆ๋Š” 2D ํ”„๋กœ์ ํŠธ
Godot 3.0.6
Win10 64 ๋น„ํŠธ
์ธํ…” i5-2550K CPU
16GB ๋žจ
Geforce GTX 970

์ด๊ฒƒ์€ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์žฅ์น˜์—์„œ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ๊ณผ ์—„๊ฒฉํ•˜๊ฒŒ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. iOS ์žฅ์น˜์—์„œ ์‹คํ–‰๋˜๋Š” ๋‚ด ๋ณด๋‚ธ ๊ฒŒ์ž„์—์„œ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ๋ฉด๋ฐ€ํžˆ ์ง€์ผœ ๋ณด๋Š” ๊ฒƒ์€ ํ”Œ๋ ˆ์ด์–ด ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ํ”๋“ค๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ทธ ๋’ค์—์žˆ๋Š” ์‹œ์ฐจ ๋ฐฐ๊ฒฝ์ž…๋‹ˆ๋‹ค.

@ behelit2 ๊ทธ๋ž˜๋„ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. https://youtu.be/YVFtkbuyqEQ ์ด ํ‘ธํ‹ฐ ์ง€์—์„œ๋Š” ํ”Œ๋ ˆ์ด์–ด ๊ฐœ์ฒด๋ฅผ ๋ณด๋ฉด ์ €์ ˆ๋กœ ํ”๋“ค๋ฆฝ๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ๋ฌธ์ œ ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์นด๋ฉ”๋ผ ์Šค๋ฌด๋”ฉ์ด ์ผœ์ ธ ์žˆ๊ฑฐ๋‚˜ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ Rigidbody2D๋กœ ์ „ํ™˜๋˜๋ฉด ํ›จ์”ฌ ๋” ์•…ํ™”๋ฉ๋‹ˆ๋‹ค.

https://youtu.be/MGMlhl0tPTA
์ด๊ฒƒ์€ ์นด๋ฉ”๋ผ ์Šค๋ฌด๋”ฉ์ด ์ผœ์ ธ ์žˆ๊ณ  ์˜ค๋ธŒ์ ํŠธ๊ฐ€ Rigidbody2D๋กœ ์ „ํ™˜ ๋  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

extends RigidBody2D
const SPEED = 7
var motion = Vector2()

func _physics_process(delta):
    if Input.is_action_pressed('ui_right'): motion.x = SPEED
    elif Input.is_action_pressed('ui_left'): motion.x = -SPEED
    else: motion.x = 0
    apply_impulse(position, motion)

๊ทธ๋Ÿฐ apply_impulse ()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€ ํ„ฐ๋ง์„ ์ฆํญ ์‹œ์ผฐ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ set_position ()์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ ‘ ๊ฐ์ฒด์˜ ์œ„์น˜๋ฅผ โ€‹โ€‹์ˆ˜์ •ํ•ด๋„ ํฐ ์ฐจ์ด๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

@diiiiiiiii ๋‚˜๋Š” ๋‹น์‹ ์ด ๋ณ„๋„์˜ ๋ฌธ์ œ๋ฅผ ์—ด์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‚ฌ๋žŒ๋“ค์ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์Šค๋ ˆ๋“œ๋Š” ๋ชจ์ˆœ ๋œ ์ง„์ˆ ๋กœ ๊ฐ€๋“ ์ฐจ๊ฒŒ๋ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚˜๋Š” ์ง€๊ธˆ ๋‹น์‹ ์˜ ๊ฒƒ์ด ์•„๋‹Œ OP ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค).

@ starry-abyss ์•Œ์•˜์–ด์š”;)
์ด๋ฏธ ์ง€ ํ„ฐ๋ง์— ๋Œ€ํ•œ ๋ฌธ์ œ๊ฐ€ ๋งŽ๊ณ  ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ๊ณ  ๊ทผ๋ณธ ์›์ธ์ด ๊ฐ™์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

OP ๋ฌธ์ œ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ. Godot์—์„œ v-sync๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  fps๋ฅผ ์ œํ•œํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €์—๊ฒŒ๋Š” v-sync๊ฐ€ ๊บผ์ง„ ์ƒํƒœ์—์„œ 60fps์ด๊ณ  ํ˜„์žฌ๋Š” ~ 4000์ด ์•„๋‹™๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  v-sync๋ฅผ ๋„๋Š” ๋ฐ”๋กœ ๊ทธ ์‚ฌ์‹ค์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

v-sync๊ฐ€ ์ฐฝ ๋ชจ๋“œ์—์„œ ์ „ํ˜€ ์˜๋ฏธ๊ฐ€ ์—†๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. Windows๋Š” ์ž์ฒด์ ์œผ๋กœ v-sync๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ v-sync ์‹ ํ˜ธ๊ฐ€ ์ˆ˜์‹  ๋œ ํ›„ ํ”„๋ ˆ์ž„์„ ๋” ๋นจ๋ฆฌ ์ค€๋น„ํ•˜๋Š” Godot ๊ฒŒ์ž„๊ณผ ์‹ธ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ IIRC ๋‹ค๋ฅธ ๊ฒŒ์ž„์€ v-sync๊ฐ€ ๊บผ์ง„ ์ƒํƒœ์—์„œ๋งŒ ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ ์ฐฝ ๋ชจ๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ, diiiiiiiii์˜ ๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์—์„œ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค. # 25162

v-sync off ์ ‘๊ทผ ๋ฐฉ์‹ ์™ธ์—๋„ Godot๊ฐ€ ์ด๋ฏธ ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€ ์‹œ๋„ ํ•  ์‹œ๊ฐ„์ด์žˆ์„ ์ˆ˜์žˆ๋Š” ํฅ๋ฏธ๋กœ์šด Windows ๊ด€๋ จ ๋ฐฉ๋ฒ• (์ปค๋ฐ‹ ์„ค๋ช…์— ๋”ฐ๋ผ์ด ๋ฌธ์ œ ์ผ ์ˆ˜ ์žˆ์Œ)์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/glfw/glfw/commit/8309e0ecb09fe5cf670dff5df1e7ca71821c27bd
๋˜ํ•œ ์ด๊ฒƒ์€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค : https://bugzilla.mozilla.org/show_bug.cgi?id=1127151

๊ทธ๋Ÿฌ๋‚˜ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š”์ด ์Šค๋ ˆ๋“œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
https://bugs.chromium.org/p/chromium/issues/detail?id=467617
๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ๋ณด์™„์ ์ด๊ณ  ์งง๊ณ  ๋” ๋งŽ์€ ๋ถ€๋ถ„์ด์ง€๋งŒ ์ฒ˜์Œ์—๋Š” ์•ฝ๊ฐ„์˜ ๊ฐ์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค : https://www.vsynctester.com/firefoxisbroken.html

๋‚ด๊ฐ€ ๊ฒฝํ—˜ ํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์œ„ ๋ณด๊ณ ์„œ์—์„œ ๋ง๋”๋“ฌ ๋‹จ์–ด๋ฅผ ์ง€ํ„ฐ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค (https://docs.godotengine.org/en/latest/tutorials/misc/jitter_stutter.html ์ฐธ์กฐ).

@ByTheQuietLake ๋‚ด ์•„์ด๋””์–ด๋Š” ์ฐฝ ๋ชจ๋“œ์—์„œ๋งŒ v-sync๋ฅผ ๋„๋Š” ๊ฒƒ์ด

OP ๋ฌธ์ œ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ. Godot์—์„œ v-sync๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  fps๋ฅผ ์ œํ•œํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €์—๊ฒŒ๋Š” v-sync๊ฐ€ ๊บผ์ง„ ์ƒํƒœ์—์„œ 60fps์ด๊ณ  ํ˜„์žฌ๋Š” ~ 4000์ด ์•„๋‹™๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  v-sync๋ฅผ ๋„๋Š” ๋ฐ”๋กœ ๊ทธ ์‚ฌ์‹ค์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

v-sync๊ฐ€ ์ฐฝ ๋ชจ๋“œ์—์„œ ์ „ํ˜€ ์˜๋ฏธ๊ฐ€ ์—†๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. Windows๋Š” ์ž์ฒด์ ์œผ๋กœ v-sync๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ v-sync ์‹ ํ˜ธ๊ฐ€ ์ˆ˜์‹  ๋œ ํ›„ ํ”„๋ ˆ์ž„์„ ๋” ๋นจ๋ฆฌ ์ค€๋น„ํ•˜๋Š” Godot ๊ฒŒ์ž„๊ณผ ์‹ธ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ IIRC ๋‹ค๋ฅธ ๊ฒŒ์ž„์€ v-sync๊ฐ€ ๊บผ์ง„ ์ƒํƒœ์—์„œ๋งŒ ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ ์ฐฝ ๋ชจ๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

fps๋ฅผ ์–ด๋–ป๊ฒŒ 60์œผ๋กœ ์ œํ•œ ํ–ˆ๋‚˜์š”?

ํ”„๋กœ์ ํŠธ ์„ค์ •์˜ ๋””๋ฒ„๊ทธ ์นดํ…Œ๊ณ ๋ฆฌ ์–ด๋”˜๊ฐ€์— "Force fps"ํ•„๋“œ ์‚ฌ์šฉ

ะ’ะพัะบั€ะตัะตะฝัŒะต, 17 ั„ะตะฒั€ะฐะปั 2019, 9:25 +03 : 00 ๊ธฐ์ค€ FabiรกnLC [email protected] :

OP ๋ฌธ์ œ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ. Godot์—์„œ v-sync๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  fps๋ฅผ ์ œํ•œํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €์—๊ฒŒ๋Š” v-sync๊ฐ€ ๊บผ์ง„ ์ƒํƒœ์—์„œ 60fps์ด๊ณ  ํ˜„์žฌ๋Š” ~ 4000์ด ์•„๋‹™๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  v-sync๋ฅผ ๋„๋Š” ๋ฐ”๋กœ ๊ทธ ์‚ฌ์‹ค์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
v-sync๊ฐ€ ์ฐฝ ๋ชจ๋“œ์—์„œ ์ „ํ˜€ ์˜๋ฏธ๊ฐ€ ์—†๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. Windows๋Š” ์ž์ฒด์ ์œผ๋กœ v-sync๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ v-sync ์‹ ํ˜ธ๊ฐ€ ์ˆ˜์‹  ๋œ ํ›„ ํ”„๋ ˆ์ž„์„ ๋” ๋นจ๋ฆฌ ์ค€๋น„ํ•˜๋Š” Godot ๊ฒŒ์ž„๊ณผ ์‹ธ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ IIRC ๋‹ค๋ฅธ ๊ฒŒ์ž„์€ v-sync๊ฐ€ ๊บผ์ง„ ์ƒํƒœ์—์„œ๋งŒ ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ ์ฐฝ ๋ชจ๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
fps๋ฅผ ์–ด๋–ป๊ฒŒ 60์œผ๋กœ ์ œํ•œ ํ–ˆ๋‚˜์š”?
โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ๋ณด๊ฑฐ๋‚˜ ๋Œ€ํ™” ๋ชฉ๋ก์„ ์Œ์†Œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

Intel GPU๊ฐ€ ํ†ตํ•ฉ ๋œ I5-2500K๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์‚ฌ๋žŒ๋“ค์ด ์‹œ์Šคํ…œ๊ณผ ํ•จ๊ป˜ CPU๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒƒ์„ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ๋…ธํŠธ๋ถ์—๋Š” ์ธํ…” ํ†ตํ•ฉ GPU์™€ ์ „์šฉ Nvida ์นด๋“œ๊ฐ€ ๋ชจ๋‘ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ GPU / ๋“œ๋ผ์ด๋ฒ„์™€ godot ์‚ฌ์ด์— ๋ฌธ์ œ๊ฐ€์žˆ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

์•„๋งˆ๋„. ๊ทธ๋Ÿฌ๋‚˜ GPU / cpu์— ์˜์กดํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. i7์—์„œ 2700 + 1080ti๋Š” ์ „์ฒด ํ™”๋ฉด์—์„œ ์ธํ…” 4000 (1 ์„ธ๋Œ€ Surface Pro)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ฐ”์ผ i5์—์„œ ๋”๋“ฌ ๊ฑฐ๋ฆฌ๊ณ  (์ฐฝ์ด ํ‘œ์‹œ๋จ) ๋ถ€๋“œ๋Ÿฝ์Šต๋‹ˆ๋‹ค.

940m ๋žฉํ†ฑ์—์„œ ๋ฐ๋ชจ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ง๋”๋“ฌ์ด ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ „์šฉ Intel 530์„ ์‚ฌ์šฉํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ๋Š๊น€ ํ˜„์ƒ์ด ์ „ํ˜€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Windows 10 ํ™ˆ
i3-6100H CPU @ 2.70GHz,
GeForce 940M (26.21.14.3064)
Intel (R) HD Graphics 530 (26.20.100.6709)

์ด ํ”„๋กœ์ ํŠธ ์—์„œ ๋ง๋”๋“ฌ์ด ๋ณด์ด๋‚˜์š”? (ํ™”์‚ดํ‘œ ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.)

๋ณด๊ฐ„์„ ์ผœ๊ณ  ๋ฌผ๋ฆฌ๋ฅผ 60์œผ๋กœ ์„ค์ • ํ•œ ์ƒํƒœ๋กœ ๋น ๋ฅธ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
940M ๊ฐ€๋”์”ฉ ๊ฐ‘์ž‘์Šค๋Ÿฌ์›Œ์กŒ์ง€๋งŒ ๊นŽ์ง€ ์•Š์Œ
Intel 530์€ ์ €ํฌ๊ฐ€ ์—†์—ˆ์ง€๋งŒ ๋•Œ๋•Œ๋กœ ๋ช…๋ฐฑํ•œ vsync ์ „๋‹จ,

๋‚˜์ค‘์— ๋” ๋งŽ์ดํ•ด์„œ ์•Œ๋ ค ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‚ด FPS๋ฅผ 60์œผ๋กœ ์ œํ•œํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์•ฝ๊ฐ„์˜ ์„ฑ๊ณต์„ ๊ฑฐ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. 60์ด ๋งค์ง ๋„˜๋ฒ„์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š๊ณ , ๋‚ด ํ™”๋ฉด์€ 144๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ œํ•œ์„ 144๋กœ ์„ค์ •ํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋Š๊น€ ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. FPS๋ฅผ 120์œผ๋กœ ๋‚ฎ์ท„๋Š”๋ฐ ๋Š๊น€ ํ˜„์ƒ์ด ์—ฌ์ „ํžˆ ๋ณด์ด์ง€๋งŒ "ํ๋ฆฟํ•จ"์ด ์•„๋‹ˆ ์–ด์„œ ๋” ๋‚ฎ์€ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. FPS๋ฅผ 80์œผ๋กœ ๋‚ฎ์ถ”๊ณ  ์ด์ „๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์ง€๋งŒ ์ด์ œ ๋ˆˆ์— ๋„๊ฒŒ ๋Š๋ ค์กŒ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ v-sync๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์ฐฝ ๋ชจ๋“œ์—์„œ ์‹คํ–‰ํ•˜๊ณ  ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ํ…Œ์ŠคํŠธํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์—”์ง„์— 60FPS๋กœ ์ œํ•œ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์—”์ง„์— 60FPS๋กœ ์ œํ•œ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌผ๋ฆฌ๋Š” 60FPS๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ Œ๋”๋ง FPS๊ฐ€ ๋ฌผ๋ฆฌ FPS๋ณด๋‹ค ๋†’์„ ๋•Œ ๋ˆˆ์— ๋„๋Š” ๋ถˆ์ผ์น˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (๋””์Šคํ”Œ๋ ˆ์ด๊ฐ€ ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์ค„๋งŒํผ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๋‹ค๋ฉด). ๋ฌผ๋ฆฌ FPS๋Š” ํ”„๋กœ์ ํŠธ ์„ค์ •์—์„œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ( Physics> Common> Physics Fps ).

๋ฌผ๋ฆฌ ๋ชธ์ฒด๋ฅผ ๋ณด๊ฐ„ํ•˜์—ฌ ์™„ํ™” ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด์— ๋Œ€ํ•œ ๊ณต์‹์ ์ธ ์ง€์›์€ ์—†์Šต๋‹ˆ๋‹ค. 3.2alpha์—์„œ๋Š” ๋…ธ๋“œ๋ฅผ ์‰ฝ๊ฒŒ ๋ณด๊ฐ„ ํ•  ์ˆ˜์žˆ๋Š” ์ด ์Šค๋ฌด๋”ฉ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—”์ง„์— 60FPS๋กœ ์ œํ•œ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌผ๋ฆฌ๋Š” 60FPS๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ Œ๋”๋ง FPS๊ฐ€ ๋ฌผ๋ฆฌ FPS๋ณด๋‹ค ๋†’์„ ๋•Œ ๋ˆˆ์— ๋„๋Š” ๋ถˆ์ผ์น˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (๋””์Šคํ”Œ๋ ˆ์ด๊ฐ€ ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์ค„๋งŒํผ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๋‹ค๋ฉด). ๋ฌผ๋ฆฌ FPS๋Š” ํ”„๋กœ์ ํŠธ ์„ค์ •์—์„œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ( Physics> Common> Physics Fps ).

๋ฌผ๋ฆฌ ๋ชธ์ฒด๋ฅผ ๋ณด๊ฐ„ํ•˜์—ฌ ์™„ํ™” ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด์— ๋Œ€ํ•œ ๊ณต์‹์ ์ธ ์ง€์›์€ ์—†์Šต๋‹ˆ๋‹ค. 3.2alpha์—์„œ๋Š” ๋…ธ๋“œ๋ฅผ ์‰ฝ๊ฒŒ ๋ณด๊ฐ„ ํ•  ์ˆ˜์žˆ๋Š” ์ด ์Šค๋ฌด๋”ฉ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์›€์ง์ž„์ด ๋ฌผ๋ฆฌ ํ”„๋กœ์„ธ์Šค ํ˜ธ์ถœ์—์„œ ์ฒ˜๋ฆฌ ๋  ๋•Œ ์บ๋ฆญํ„ฐ๊ฐ€ ๋”๋“ฌ ๊ฑฐ๋ฆฌ๋Š” ์ด์œ ๋ฅผ ์„ค๋ช… ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ 3.1.1 BTW์—์„œ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ Firefox์—์„œ Shadertoy๋ฅผ ์—ฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (https://github.com/godotengine/godot/issues/19783#issuecomment-455830124).

๋‚˜๋Š” ํ•ด๊ฒฐ์ฑ…์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๊ณ  ์—ฌ๊ธฐ์—์„œ ์šฐ์—ฐํžˆ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌ๋˜์—ˆ์ง€๋งŒ์ด ์Šค๋ ˆ๋“œ์—์„œ ๋ณธ ๊ฑฐ์˜ ๋ชจ๋“  ์กฐ์–ธ์„ ์‹œ๋„ํ•œ ํ›„์—๋„ ์—ฌ์ „ํžˆ ์ฃผ์‚ฌ์œ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ์ง€ ํ„ฐ๋ง์€ NVIDIA ์นด๋“œ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ†ตํ•ฉ Intel GPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด ๋ถ€๋“œ๋Ÿฝ๊ณ  ๋งค๋„๋Ÿฝ๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. : /

Windows 10์—์„œ Godot 3.2์˜ ์ตœ์‹  ์•ŒํŒŒ ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ํ•ด๊ฒฐ์ฑ…์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๊ณ  ์—ฌ๊ธฐ์—์„œ ์šฐ์—ฐํžˆ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌ๋˜์—ˆ์ง€๋งŒ์ด ์Šค๋ ˆ๋“œ์—์„œ ๋ณธ ๊ฑฐ์˜ ๋ชจ๋“  ์กฐ์–ธ์„ ์‹œ๋„ํ•œ ํ›„์—๋„ ์—ฌ์ „ํžˆ ์ฃผ์‚ฌ์œ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ์ง€ ํ„ฐ๋ง์€ NVIDIA ์นด๋“œ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ†ตํ•ฉ Intel GPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด ๋ถ€๋“œ๋Ÿฝ๊ณ  ๋งค๋„๋Ÿฝ๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. : /

Windows 10์—์„œ Godot 3.2์˜ ์ตœ์‹  ์•ŒํŒŒ ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ์œˆ๋„์šฐ์—์„œ ๊ทธ๊ฒƒ์„ ๊ณ ์น  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๊ฒƒ์€ ๋ฆฌ๋ˆ…์Šค์—์„œ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์ด๊ฒƒ์€ ์ƒˆ๋กœ์šด vulkan ๋ Œ๋”๋Ÿฌ๋กœ 4.0์—์„œ ๊ณ ์ณ์งˆ ์ˆ˜์žˆ๋‹ค.

๋‚˜๋Š” ํ•ด๊ฒฐ์ฑ…์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๊ณ  ์—ฌ๊ธฐ์—์„œ ์šฐ์—ฐํžˆ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌ๋˜์—ˆ์ง€๋งŒ์ด ์Šค๋ ˆ๋“œ์—์„œ ๋ณธ ๊ฑฐ์˜ ๋ชจ๋“  ์กฐ์–ธ์„ ์‹œ๋„ํ•œ ํ›„์—๋„ ์—ฌ์ „ํžˆ ์ฃผ์‚ฌ์œ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ์ง€ ํ„ฐ๋ง์€ NVIDIA ์นด๋“œ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ†ตํ•ฉ Intel GPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด ๋ถ€๋“œ๋Ÿฝ๊ณ  ๋งค๋„๋Ÿฝ๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. : /
Windows 10์—์„œ Godot 3.2์˜ ์ตœ์‹  ์•ŒํŒŒ ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ์œˆ๋„์šฐ์—์„œ ๊ทธ๊ฒƒ์„ ๊ณ ์น  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๊ฒƒ์€ ๋ฆฌ๋ˆ…์Šค์—์„œ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์ด๊ฒƒ์€ ์ƒˆ๋กœ์šด vulkan ๋ Œ๋”๋Ÿฌ๋กœ 4.0์—์„œ ๊ณ ์ณ์งˆ ์ˆ˜์žˆ๋‹ค.

์•ˆํƒ€๊น ๋„ค์š”. Vulkan API๋Š” ํ•˜์ด ์—”๋“œ ๊ธฐ๊ธฐ์—๋งŒ ์ง‘์ค‘ํ•˜์ง€ ์•Š๋‚˜์š”?

์ €๋Š” ํŠน๋ณ„ํžˆ OpenGL 2.0์„ ๋Œ€์ƒ์œผ๋กœํ•˜๋ฏ€๋กœ ์ €๊ฐ€ํ˜• ์žฅ์น˜๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2D ๊ฒŒ์ž„์—๋งŒ ๋งค์šฐ ๊ณ ๊ธ‰ ๊ทธ๋ž˜ํ”ฝ API๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ €๊ฐ€ํ˜• ์ปดํ“จํ„ฐ / ๋…ธํŠธ๋ถ ์‚ฌ์šฉ์ž๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ์€ ๋‹ค์†Œ ์–ด๋ฆฌ์„์€ ์ผ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜•

์‹ ํ™”์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ ๋ง๋”๋“ฌ์ด๋Š” ATM์„ ๊ณ ์น  ์ˆ˜ ์—†์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ๊ฒฝํ—˜ํ•˜๋Š” ๋ง๋”๋“ฌ ๊ธฐ๋Š” Godot ์ „์šฉ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์‹ ํ™”์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

์ด๊ฒƒ์— ๋Œ€ํ•ด ๋ฌด์—‡์„ ์–ธ๊ธ‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์€ ์–ด๋ ค์šด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‚˜๋Š” ๋ฒˆ์‹ ํ•  ์ˆ˜ ์—†์–ด์„œ ํ•  ์ˆ˜์žˆ๋Š” ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค. (NVIdia ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ์™€ ํ•จ๊ป˜ Windows 10์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค)

๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ์ˆ˜์žˆ๋Š” ์‚ฌ๋žŒ์€ ์•ˆํƒ€๊น๊ฒŒ๋„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์ฐ”๋Ÿฌ์•ผํ•ฉ๋‹ˆ๋‹ค. :(

ํ”ํ•˜์ง€ ์•Š์€ ๋ฌธ์ œ์ด์ง€๋งŒ์ด ์Šค๋ ˆ๋“œ์— ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์„ ๋Œ์–ด ๋“ค์ด๊ธฐ์—๋Š” ์ถฉ๋ถ„ํžˆ ์ผ๋ฐ˜์ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์—ฌ๋Ÿฌ๋ถ„ ์ค‘ ํ•œ ๋ช…์ด์ด ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์•„, ๋‚˜๋Š” ํ•ญ์ƒ ๋‚ด๊ฐ€ ๊ฒฝํ—˜ํ•˜๋Š” ๊ฒƒ์ด ๊ณต์‹ Godot ๋ฌธ์„œ ์šฉ์–ด์—์„œ ์ง€ํ„ฐ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ฒƒ์„ ์žŠ์–ด ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.

_ ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ตฌ์ž…ํ•˜์ง€ ์•Š๊ณ  60FPS๋กœ ๋ฌธ์ œ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์บก์ฒ˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•„๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? _
๋‚˜๋Š” ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์€ ๊ทธ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ๋ฉ์ฒญ ํ•ด ๋ณด์ด๋Š”์ง€ ๊ณผ์†Œ ํ‰๊ฐ€ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉฐ ์•„๋งˆ๋„ ๊ทธ๊ฒƒ์€ ๋‹ค๋ฅธ PC์—์„œ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ด๋Š” ๋ฌธ์ œ ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์— ๋Œ€ํ•ด ๋ฌด์—‡์„ ์–ธ๊ธ‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์‹ ํ™” : "์ด๊ฒƒ์€ ํ•ญ์ƒ OpenGL (๋˜๋Š” Windows ๋“ฑ)์—์„œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. Vulkan๋งŒ์ด ์šฐ๋ฆฌ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."

์•Œ์•˜์–ด ๊ทธ๋ž˜์„œ:

  1. :์ด OBS์—์„œ ๋น„๋””์˜ค์ž…๋‹ˆ๋‹ค https://www.youtube.com/watch?v=osbJlk1XD8c OBS์˜ ์˜ํ–ฅ (์บก์ฒ˜๊ฐ€ ๊บผ์ ธ์žˆ์„ ๊ฒฝ์šฐ์—๋„) ๊ทธ ๋‹จ์„ ๊ฐ–๋Š” OBS ์‹คํ–‰์ด ๊ณ ๋„ (Godot) ํ”„๋กœ์ ํŠธ์—์ด ์ง€ํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  2. OBS๊ฐ€ ์—†์œผ๋ฉด Shadertoy๊ฐ€ ํฌํ•จ ๋œ Firefox๋ฅผ ์ตœ์†Œํ™” ํ•  ๋•Œ๊นŒ์ง€ ๋งค๋„ ๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋Š๊น€์ด ์‹œ์ž‘๋˜์ง€๋งŒ OBS๋กœ ์บก์ฒ˜ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‚ด ์ž์‹ ์˜ ๋…น์Œ์— ์นฉํ•‘, ์ด๊ฒƒ์€ Bandicam ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฉฐ ๋Œ€๋ถ€๋ถ„ ๋…น์Œ ์œ ๋ฌด์— ๊ด€๊ณ„์—†์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ณด์‹œ๋‹ค์‹œํ”ผ ์ˆœ์กฐ๋กญ๊ฒŒ ์‹œ์ž‘๋˜์ง€๋งŒ ์ ์ฐจ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

image

@clayjohn ๋‚˜๋Š” ๋ฌผ๋ฆฌ ๋ณด๊ฐ„์„ ๊ตฌํ˜„ํ•˜์—ฌ ๊ณ ์น  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ reduz๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์œ ๋กœ ์ฝ”์–ด์— ํฌํ•จํ•˜๋Š” ๊ฒƒ์— ๋ฐ˜๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ 3.2alpha์—๋Š” ํ˜„์žฌ ๋ฌผ๋ฆฌ ๋‹จ๊ณ„ ๋น„์œจ์„ ๋…ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ถ”๊ฐ€๋˜์–ด ์ •ํ™•ํ•œ ๋ฌผ๋ฆฌ ๋ณด๊ฐ„์„ ์ˆ˜๋™์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ starry-abyss 3.2alpha๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด lawnjelly์˜ smoothing-addon ์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š” : slightly_smiling_face :

์–ธ๋ฆฌ์–ผ ์—”์ง„์ด๋‚˜ physX ์†Œ์Šค์—์„œ ์‚ดํŽด๋ณผ ์œ ์šฉํ•œ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฑด๋ฐฐ,
๋น…ํ„ฐ ์Šคํƒ 

2019 ๋…„ 10 ์›” 22 ์ผ ์˜ค์ „ 4:17์— Hugo Locurcio [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

,,,,,,,,, ๋ฌด,,,,,,,,,,,,,,,.
@clayjohn ๋‚˜๋Š” ๋ฌผ๋ฆฌ ๋ณด๊ฐ„์„ ๊ตฌํ˜„ํ•˜์—ฌ ์ˆ˜์ • ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ reduz๋Š” ๊ทธ๊ฒƒ์„ ์ฝ”์–ด์— ๋„ฃ๋Š” ๊ฒƒ์— ๋ฐ˜๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

@ starry-abyss 3.2alpha๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด lawnjelly์˜ smoothing-addon์„ ์‚ฌ์šฉํ•ด๋ณด์„ธ์š” ๐Ÿ™‚

โ€”
๋Œ“๊ธ€์„ ๋‹ฌ์•˜ ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์‹  ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ๊ตฌ๋…์„ ์ทจ์†Œํ•˜์„ธ์š”.

@victorbstan ์–ธ๋ฆฌ์–ผ ์†Œ์Šค ์ฝ”๋“œ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด์„ ์Šค๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ดํŽด๋ณด๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. (๋ผ์ด์„ ์Šค๊ฐ€์—†๋Š” Unreal Engine ์‚ฌ์šฉ์ž์—๊ฒŒ ์žฌ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ๋„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

ํ™•์‹คํžˆ ํ์‡„ ๋œ ์†Œ์Šค์—์„œ ์ฝ”๋“œ๋ฅผ ๋“ค์–ด ์˜ฌ๋ฆฌ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
์ด๊ฒƒ์œผ๋กœ๋ถ€ํ„ฐ ์•„์ด๋””์–ด๋ฅผ ๋ชจ์œผ์ง€ ์•Š์Šต๋‹ˆ๊นŒ? [๋ณ€ํ˜ธ์‚ฌ ์•„๋‹˜]

2019 ๋…„ 10 ์›” 22 ์ผ ํ™”์š”์ผ ์˜ค์ „ 11:07 Hugo Locurcio [email protected]
์ผ๋‹ค :

@victorbstan https://github.com/victorbstan ์šฐ๋ฆฌ๋Š” ๋ณด์ง€ํ•œ๋‹ค
์–ธ๋ฆฌ์–ผ์˜ ์†Œ์Šค ์ฝ”๋“œ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด์„ ์Šค๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. (๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค
๋ผ์ด์„ ์Šค๊ฐ€์—†๋Š” Unreal Engine ์‚ฌ์šฉ์ž์—๊ฒŒ ์žฌ๋ฐฐํฌ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.)

โ€”
์ด ์Šค๋ ˆ๋“œ๋ฅผ ๊ตฌ๋…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—์ด ๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/godotengine/godot/issues/19783?email_source=notifications&email_token=ACCZK74IFXROY6X64Z2Z6KDQP46NVA5CNFSM4FHBBLY2YY3PNVWWK3TUL52HS4DFWSVREXG43Z45084606 ,
๋˜๋Š” ๊ตฌ๋… ์ทจ์†Œ
https://github.com/notifications/unsubscribe-auth/ACCZK7Z7E4F3NCHQNS2SHX3QP46NVANCNFSM4FHBBLYQ
.

@Razzlegames ๋‚˜๋Š” ์—ฌ์ „ํžˆ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณด๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋…์  ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์˜๊ฐ์„ ์–ป๊ณ  ์‹ถ๋‹ค๋ฉด ๊ด€๋ จ๋œ ๋ฒ•์  ์œ„ํ—˜์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ํด๋ฆฐ ๋ฃธ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง ์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜๋„ ์—ฌ๊ธฐ์„œ๋Š”์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ์˜ค๋Š˜๋‚  ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋Š” ๊ฒŒ์ž„ ์—”์ง„์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฌผ๋ฆฌ ๋ณด๊ฐ„๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. (๋ฌผ์ฒด๋ฅผ ์ˆœ๊ฐ„ ์ด๋™ํ•  ๋•Œ ๋ณด๊ฐ„์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž์˜ ์ž‘์—…์„ ํ•„์š”๋กœํ•˜๋Š” ๋“ฑ) ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์ด ์žˆ์ง€๋งŒ, ๊ทธ ์žฅ์ ์ด ํ›จ์”ฌ ๋” ํฌ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ œ์•ˆ์ด ๋ฐ˜๋“œ์‹œ ํ‘œ์ ˆํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋ฅผ ์–ป๋Š” ๊ฒƒ์ž„์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊นœ๋ฐ•์ž„ / ๋ง๋”๋“ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํŠนํ—ˆ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์ง€๋งŒ IANAL.

๊ฑด๋ฐฐ,
๋น…ํ„ฐ ์Šคํƒ 

2019 ๋…„ 10 ์›” 22 ์ผ ์˜คํ›„ 2์‹œ 7 ๋ถ„์— Hugo Locurcio [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

,,,,,,,,, ๋ฌด,,,,,,,,,,,,,,,.
@victorbstan ์–ธ๋ฆฌ์–ผ ์†Œ์Šค ์ฝ”๋“œ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด์„ ์Šค๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ดํŽด๋ณด๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. (๋ผ์ด์„ ์Šค๊ฐ€์—†๋Š” Unreal Engine ์‚ฌ์šฉ์ž์—๊ฒŒ ์žฌ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ๋„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ๊ตฌ๋…์„ ์ทจ์†Œํ•˜์„ธ์š”.

๋‚ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ Godot ํ”„๋กœํŒŒ์ผ ๋Ÿฌ๋Š” ์ง€ํ„ฐ / ์Šคํ„ฐ ํ„ฐ๋ฅผ ๋ณผ ๋•Œ์—๋„ ์™„๋ฒฝํ•œ 60 FPS๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ ๋ณด๊ฐ„๊ณผ ๊ด€๋ จ์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ๋ญ”๊ฐ€ ๋น ์กŒ์Šต๋‹ˆ๊นŒ?

๋‚ด ๊ฐ€์ •์€ Godot ํƒ€์ด๋ฐ์ด Windows์˜ ํ•ฉ์„ฑ๊ธฐ ํƒ€์ด๋ฐ์„ ๋ฐฉํ•ดํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (๊ทธ๋ฆฌ๊ณ  SDL์ด GLFW Godot๋ณด๋‹ค ๋” ์ž˜ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋‹ค๋ฅธ ์—”์ง„์€ Godot๊ฐ€ ์‹คํŒจํ•œ ๊ฒฝ์šฐ์—๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค).

(๊ทธ๋ฆฌ๊ณ  SDL์ด GLFW๋ณด๋‹ค ๋” ์ž˜ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋‹ค๋ฅธ ์—”์ง„์€ Godot๊ฐ€ ์‹คํŒจํ•œ ๊ณณ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค).

Godot๋Š” ์ž์ฒด ์ฐฝ ๊ด€๋ฆฌ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ SDL์ด๋‚˜ GLFW๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. : slightly_smiling_face :

Windows 10๊ณผ nVidia GeForce GTX 1070์ด ์žˆ๊ณ  vsync๊ฐ€ ํ™œ์„ฑํ™” ๋œ 3.2 alpha2 ๋นŒ๋“œ์—์„œ๋Š” ์ฐฝ ๋ชจ๋“œ์—์„œ ์ง€ํ„ฐ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ํ™”๋ฉด ๋ชจ๋“œ๊ฐ€ ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„์ด ์‹คํ–‰๋  ๋•Œ ํŽธ์ง‘๊ธฐ๊ฐ€ ์ตœ์†Œํ™”๋˜์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ํŠนํžˆ ๋‚˜์ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ์ค‘์ธ ๊ฒŒ์ž„์€ ์œ„์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ _process() ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋งค์šฐ ์‹œ๋„๋Ÿฌ์šด delta ๋˜๋Š” ๋“œ๋กญ ๋œ ํ”„๋ ˆ์ž„ (ํฐ ๋ธํƒ€)๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. delta ๋Š” ์‹ค์ œ๋กœ ์ง€ ํ„ฐ๋ง ์ค‘์— ํ”๋“ค๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ์Šค๋ ˆ๋“œ์˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์— ๋Œ€ํ•œ ์—ฐ๊ตฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ context_gl_windows.cpp ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ•ดํ‚นํ•˜์—ฌ ์Šค์™‘ ๊ฐ„๊ฒฉ์„ 0์œผ๋กœ ์„ค์ •ํ•˜๊ณ  DwmFlush() ์—์„œ swap_buffers() DwmFlush() ๋ฅผ ํ˜ธ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค.

#include <dwmapi.h>

#pragma comment(lib, "dwmapi.lib")

...

void ContextGL_Windows::swap_buffers() {

    DwmFlush(); // Added this.
    SwapBuffers(hDC);
}

void ContextGL_Windows::set_use_vsync(bool p_use) {

    if (wglSwapIntervalEXT) {
        // changed this: wglSwapIntervalEXT(p_use ? 1 : 0);
        wglSwapIntervalEXT(0); // To this.
    }
    use_vsync = p_use;
}

์ด๊ฒƒ์€ glfw ๋ฐ Chromium ํ”„๋กœ์ ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋ณ€๊ฒฝํ•˜๋ฉด ์ฐฝ ๋ชจ๋“œ์—์„œ ์ง€ํ„ฐ๊ฐ€ ์ˆ˜์ •๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ „์ฒด ํ™”๋ฉด ๋ชจ๋“œ์—์„œ ๊ฒŒ์ž„์— ํ‹ฐ์–ด๋ง์ด ์žˆ์œผ๋ฏ€๋กœ DWM์ด ๋น„ํ™œ์„ฑํ™” ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ ๊ฐ„๊ฒฉ ๊ฐ’ 1์„ ํ†ตํ•œ ์ด์ค‘ ๋ฒ„ํผ๋ง์ด ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. (๊ธฐ๋ณธ์ ์œผ๋กœ ์ฝ”๋“œ๋Š” ํ˜„์žฌ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.)

๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๊ธฐ๊บผ์ด ์ด๊ฒƒ์„ ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

wglSwapIntervalEXT(0); ๋ถ€๋ถ„์€ ์˜ต์…˜์—์„œ v-sync๋ฅผ ๋„๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

wglSwapIntervalEXT (0); ๋ถ€๋ถ„์€ ์˜ต์…˜์—์„œ v-sync๋ฅผ ๋„๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€. 1 -vsync ํ™œ์„ฑํ™”, 0 -๋น„ํ™œ์„ฑํ™” ๋ฐ "Adaptive vsync"์— ๋Œ€ํ•œ -1 (๋‚ฎ์€ ํ”„๋ ˆ์ž„ ์†๋„์—์„œ ๋™๊ธฐํ™” ๋น„ํ™œ์„ฑํ™”, ๋†’์Œ์—์„œ ํ™œ์„ฑํ™”).

3.1.x ๋ธŒ๋žœ์น˜์—์„œ ๊ฐ„๋‹จํ•œ ์ผ€์ด์Šค๋กœ ์œ„์—์„œ DwmFlush ()๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

  • shadertoy ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ƒํ™ฉ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
  • V-sync ์ผœ๊ธฐ ๋˜๋Š” ๋„๊ธฐ-์ €์—๊ฒŒ ๋™์ผํ•˜๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค (wglSwapIntervalEXT () ๋ถ€๋ถ„์„ ํŒจ์น˜ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค).
  • OBS ์ผ€์ด์Šค๋Š” ์—ฌ์ „ํžˆ ํ”๋“ค๋ฆฌ๊ณ  ์žˆ์ง€๋งŒ (์ œ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค) Godot๋Š” ์ด์ œ FPS๊ฐ€ 40์œผ๋กœ ๋–จ์–ด ์กŒ๋‹ค๊ณ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค (God์˜ ํ”„๋กœํŒŒ์ผ ๋Ÿฌ๊ฐ€ ์‹ค์ œ๋กœ ์›๋ž˜ Godot ๋ฒ„์ „์— ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค).
  • ๋‚˜๋Š” ๋˜ํ•œ SwapBuffers (hDC) ์ดํ›„์— DwmFlush ()๋ฅผ ํ˜ธ์ถœํ•˜๋ ค๊ณ ํ–ˆ๊ณ , ๋ชจ๋“  3 ์ ์€ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ Godot๊ฐ€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ปดํฌ ์ง€ํ„ฐ์˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ์•„๋‹Œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ปดํฌ ์ง€ํ„ฐ์˜ ์—…๋ฐ์ดํŠธ์— ํ”„๋ ˆ์ž„์„ ๋ฐฐ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— SwapBuffers (hDC) ์ดํ›„์˜ DwmFlush ()๊ฐ€ ๋” ์ •ํ™•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Godot๊ฐ€ ์ปดํฌ ์ง€ํ„ฐ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ๋” ์ž˜ ๊ฐ์ง€ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฐ”๋‹๋ผ v-sync ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ•ด์•ผํ• ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ Calinou๊ฐ€ ์–ธ๊ธ‰ ํ•œ ์ƒˆ๋กœ์šด ๋ณด๊ฐ„ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ : ์˜ˆ, OBS์˜ ๊ฒฝ์šฐ Godot๋Š” 0.03 ์ดˆ์˜ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์„๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค (๊ทธ๋Ÿฌ๋‚˜ FPS๋Š” 60์œผ๋กœ๋ณด๊ณ  ๋จ), ์•„๋งˆ๋„ Godot FPS ์นด์šดํ„ฐ๋Š” ๋งค๋ฒˆ v-blank๊ฐ€ ๋ˆ„๋ฝ ๋œ ๊ฒƒ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์—…๋ฐ์ดํŠธ 2 : ์Šฌํ”„๊ฒŒ๋„ ๋ณด๊ฐ„ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์—ฌ๊ธฐ์—์„œ ๋„์›€์ด๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. OBS ์ผ€์ด์Šค์— ์—ฌ์ „ํžˆ ์ง€ํ„ฐ๊ฐ€ ์žˆ๊ณ  shadertoy ์ผ€์ด์Šค์— ๋Š๊น€ ๋ฐ / ๋˜๋Š” ์ง€ํ„ฐ ํ˜ผํ•ฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

wglSwapIntervalEXT(0); ๋ถ€๋ถ„์€ ์˜ต์…˜์—์„œ v-sync๋ฅผ ๋„๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋งž์ง€๋งŒ DwmFlush() ์— swap_buffers() ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฒŒ์ž„์—์„œ ๋™๊ธฐํ™”์— ํ•ฉ์„ฑ๊ธฐ (DWM)๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ์ปดํฌ ์ง€ํ„ฐ๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด ์›ํ•˜๋“  ์›ํ•˜์ง€ ์•Š๋“  ํšจ๊ณผ์ ์œผ๋กœ ์ด์ค‘ ๋ฒ„ํผ๋ง์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OpenGL์˜ ์Šค์™‘ ๊ฐ„๊ฒฉ์„ 1๋กœ ์„ค์ • ํ•œ ๊ฒฝ์šฐ ํŠธ๋ฆฌํ”Œ ๋ฒ„ํผ๋ง์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (๋‘ ๋ฒ„ํผ์™€ ์ปดํฌ ์ง€ํ„ฐ์˜ ๋ฒ„ํผ).

์™œ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๊ฐ€ DwmFlush() ์ „์— SwapBuffers() DwmFlush() ๋ฅผ ํ˜ธ์ถœํ–ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ๊พธ๋กœ ๋ณด์ด์ง€๋งŒ ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์˜ณ๋‹ค๊ณ  ๊ฑฐ์˜ ํ™•์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ OpenGL์˜ ์ด์ค‘ ๋ฒ„ํผ๋ง (์ปดํฌ ์ง€ํ„ฐ๊ฐ€ ํ™œ์„ฑํ™” ๋œ ๊ฒฝ์šฐ)์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ˆ˜์ง ๊ณต๋ฐฑ ๊ธฐ๊ฐ„๊ณผ ๋™๊ธฐํ™”๋˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ• ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. OpenGL ์Šค์™‘ ๊ฐ„๊ฒฉ์ด 0์ด๋ฉด SwapBuffers() ๋Œ€ํ•œ ํ˜ธ์ถœ์ด ์ฐจ๋‹จ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํ˜„์žฌ ํ”„๋ ˆ์ž„์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ์Œ์„ ํ™•์ธํ•˜๋Š” ์ฆ‰์‹œ ์ปดํฌ ์ง€ํ„ฐ์— ๋‹ค์Œ ํ”„๋ ˆ์ž„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํšจ๊ณผ์ ์œผ๋กœ OpenGL ์Šค์™‘ ๊ฐ„๊ฒฉ 1์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ํšจ๊ณผ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด ์ปดํฌ ์ง€ํ„ฐ๊ฐ€ ๊ฐ„์„ญํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ (์˜ˆ : ์ „์ฒด ํ™”๋ฉด ๋ชจ๋“œ))
>
>

Godot๊ฐ€ ์ปดํฌ ์ง€ํ„ฐ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ๋” ์ž˜ ๊ฐ์ง€ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฐ”๋‹๋ผ v-sync ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ•ด์•ผํ• ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ์ชฝ์ด ๋งž๋Š” ๊ฑฐ ๊ฐ™์•„์š”. ์ปดํฌ ์ง€ํ„ฐ๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด OpenGL์˜ v ๋™๊ธฐํ™”๊ฐ€ ์ค‘๋‹จ๋˜๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. glfw์™€ Chromium์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ์ด๊ฒƒ์„ HACK์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค ( DwmFlush() ). ์ด ๊ฒฝ์šฐ OpenGL์ด ์†์ƒ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ ํ•ด์•ผ ํ•  ์ผ์„ํ•ด์•ผ ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

@ starry-abyss ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” OBS ์‚ฌ๋ก€์— ๋Œ€ํ•œ ๊ฒŒ์‹œ๋ฌผ์„ ๋‹ค์‹œ ์ฝ์€ ํ›„ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— vsync๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. wglSwapIntervalEXT() ํ˜ธ์ถœ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ vsync๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฒŒ์ž„์ด DwmFlush() ๋ฐ SwapBuffers() ๋ชจ๋‘์—์„œ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. 0.03 ์ดˆ์˜ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

@TerminalJack ์•„๋‹ˆ์š”, ๋ชจ๋“  ์กฐํ•ฉ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. OBS๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ํ•ญ์ƒ 0.03์œผ๋กœ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Godot๊ฐ€์ด ์—ฌ๋Ÿฌ ํ”„๋ ˆ์ž„์„ ์—ฐ์†์œผ๋กœ ๋‹ฌ์„ฑ ํ•  ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ์—๋„ 60FPS๋กœ ์—ด์‹ฌํžˆ ๋…ธ๋ ฅํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆŒ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
1) Godot๋Š” ์ปดํฌ ์ง€ํ„ฐ์™€ ์นœ๊ตฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
2) Godot๋Š” ์ตœ๋Œ€ FPS๋ฅผ ๊ฐ–๊ธฐ๋ฅผ ๋„ˆ๋ฌด ์—ด๋งํ•˜์ง€๋งŒ ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฌ๋ฉด ์•ˆ์ •์ ์ธ 30์„ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ 0.03์ด ์ˆœ์ˆ˜ํ•œ ๊ณ„์‚ฐ ์‹œ๊ฐ„์ด๊ณ  ๋™๊ธฐํ™”๊ฐ€ ์•„๋‹Œ์ง€ (๋ฐ˜์ฆ) ์ฆ๋ช…ํ•  ์ˆ˜์žˆ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋ฉด ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ starry-abyss ํ…Œ์ŠคํŠธ ๋ชฉ์ ์œผ๋กœ ์ž‘์—… ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ '๋†’์Œ'์œผ๋กœ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ๊ฒƒ์„ ์„ ์ ํ•˜๊ณ  ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์˜ ๊ฐ€์žฅ ํฐ ๋ถ€๋ถ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์ด๊ณ  DwmFlush() ๋ฐ / ๋˜๋Š” SwapBuffers() ์—์„œ ์ฐจ๋‹จ๋˜์ง€ ์•Š๋Š” ํ•œ.

์˜ค๋Š˜์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ธฐํšŒ๊ฐ€ ๋งŽ์ง€ ์•Š์•˜์ง€๋งŒ Intel UHD Graphics 620 GPU๊ฐ€ ํ†ตํ•ฉ ๋œ Windows 10 ์‹œ์Šคํ…œ์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‹คํ–‰ ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. (์ƒ๋‹นํžˆ ์ €๊ฐ€ํ˜• GPU.)

๋จผ์ € ์ตœ์‹  3.2 alpha2 ๋นŒ๋“œ๋กœ ๊ฒŒ์ž„ (์œˆ๋„์šฐ ๋ชจ๋“œ)์„ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ๋ˆˆ์— ๋„๋Š” ์ง€ํ„ฐ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ delta ์‹œ๊ฐ„์„ ๊ธฐ๋กํ–ˆ๋Š”๋ฐ DwmFlush() ํ˜ธ์ถœ์ด์—†๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋” ์•ˆ์ •์ ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.

3.2 ์•ŒํŒŒ 2

0.016667 (10 times)
0.016501
0.016667 (15 times)
0.016628
0.016667 (3 times)
0.016646
0.016667 (5 times)
0.016659
0.016667 (6 times)
0.016571
0.016667 (2 times)
0.016661
0.016667 (10 times)
0.016626
0.016667 (13 times)
0.016567
0.016667 (8 times)
0.016653

ํ…Œ์ŠคํŠธ ๋นŒ๋“œ

0.018182
0.022628
0.018182 (3 times)
0.017982
0.016836
0.016781
0.016667 (5 times)
0.01671
0.016667 (129 times)
0.016935
0.016667 (13 times)
0.018094
0.016667 (2828 times)

(์ฒ˜์Œ์˜ ๋†’์€ ๋ธํƒ€๋Š” ์”ฌ์ด๋กœ๋“œ ๋œ ์งํ›„์— ์ดฌ์˜ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์•ŒํŒŒ ๋นŒ๋“œ๋Š” ๋™์ผํ•œ ๋™์ž‘์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.)

ํ…Œ์ŠคํŠธ ๋นŒ๋“œ๊ฐ€ ๊ฒฐ๊ตญ ์–ด๋–ป๊ฒŒ ์•ˆ์ •๋˜๊ณ  ์•ˆ์ •๋œ ์ƒํƒœ์— ๋„๋‹ฌํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. 3.2 alpha2 ๋นŒ๋“œ๋Š” ๊ฒฐ์ฝ” ๊ทธ๋ ‡์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ GPU๊ฐ€ ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์•…์˜ํ–ฅ์„๋ฐ›์ง€ ์•Š์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹ค์ œ๋กœ ํ˜œํƒ์„๋ฐ›์„ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” GPU๊ฐ€ ๋” ๊ฐ•๋ ฅ ํ•ด์ง€๋ฉด์„œ ์ง€ํ„ฐ๊ฐ€ ๋” ๋‚˜ ๋น ์ง€๊ณ  ์ œ์กฐ์—…์ฒด ๋‚˜ ๋“œ๋ผ์ด๋ฒ„์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผํ•˜๋Š” ๋‹จ์ผ ์ปค๋ฐ‹ ์ด์žˆ๋Š” ํฌํฌ ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‘ ๋Œ€์˜ Windows 10 ์ปดํ“จํ„ฐ์—์„œ๋งŒ ํ…Œ์ŠคํŠธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋นŒ๋“œํ•˜๊ณ  ๋‹ค๋ฅธ Windows ๋ฒ„์ „์—์„œ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ VC ++ 2019๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“ค์—ˆ์œผ๋ฏ€๋กœ mingw๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์˜ ๊ณ ์œ  ํ•œ (์ตœ๊ทผ) ํฌํฌ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฌธ์ œ์—†์ด์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํŒจ์น˜ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

NVidia GTX 1050์„ ์‚ฌ์šฉํ•˜๋Š” Windows 10์˜ Im.

์…ฐ์ด๋” ํ† ์ด๋ฅผ ์—ด๊ณ  ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š” ํ•œ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ์—์„œ ๋ง๋”๋“ฌ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (์œ„์˜ ๋ช‡ ๊ฐ€์ง€ ์„ค๋ช…์—์„œ ์„ค๋ช…ํ•œ๋Œ€๋กœ).

@TerminalJack ์˜ ์ปค๋ฐ‹์„ ์‚ฌ์šฉํ•˜๋ฉด shadertoy๊ฐ€ ์‹คํ–‰ ์ค‘์ผ ๋•Œ๋„ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@clayjohn ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์˜ ๋ฌธ์ œ์ธ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

800 x 450 ์…ฐ์ด๋” ํ† ์ด๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•˜๊ณ  Godot ๊ฒŒ์ž„ (ํŽธ์ง‘๊ธฐ์—์„œ ์‹คํ–‰)์„ ์ „๊ฒฝ ์ฐฝ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ์ง€ํ„ฐ๊ฐ€ ๊ฑฐ์˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— alpha2 ๋นŒ๋“œ๋Š” ๋™์ผํ•œ ์ƒํ™ฉ์—์„œ ์‹ฌ๊ฐํ•œ ์ง€ํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‚ด ์‹œ์Šคํ…œ์— ๋ถ€ํ•˜๊ฐ€ ์—†๋Š”๋ฐ๋„ ์‹ฌ๊ฐํ•œ ์ง€ํ„ฐ๋ฅผ ๊ฒช๋Š” ์‚ฌ๋žŒ ์ค‘ ํ•˜๋‚˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์ด๊ธฐ๋„ํ•˜๋‹ค.

@TerminalJack ์ข‹์€ ์ง€์ ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” iq์˜ ์—ด๋Œ€ ์šฐ๋ฆผ ์‰์ด๋”๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค :)

์—ฌ๊ธฐ์— ์—ฌ๋Ÿฌ ๋ฌธ์ œ๊ฐ€์žˆ์„ ๊ฐ€๋Šฅ์„ฑ๋„ ๋†’๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. @Calinou ๊ฐ€ ์œ„์—์„œ ์ง€์ ํ–ˆ๋“ฏ์ด ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ฐ„ ๋ฌผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ์‹œ์ ์—์„œ ์ปค๋ฐ‹์„ PRํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ฉ‹์ง€๊ฒŒ ๋ณด์ด๋ฉฐ PR์„ ๋งŒ๋“ค๋ฉด ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋” ์‰ฝ๊ฒŒ ๋นŒ๋“œํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@clayjohn ์˜ˆ, ์ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” ์‹ค์ œ๋กœ 60 ~ 90 ์ดˆ๋งˆ๋‹ค ํ•œ ๋ฒˆ์”ฉ ๋ฐœ์ƒํ•˜๋Š” ๋‚˜์œ ๋ง๋”๋“ฌ ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ ์ด ์Šค๋ ˆ๋“œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. (์ด๋”ฐ๊ธˆ 60ms์—์„œ 100ms ๋™์•ˆ ๋ฌด์–ธ๊ฐ€๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.) ๊ฒŒ์ž„์„ ์ „์ฒด ํ™”๋ฉด ๋ชจ๋“œ๋กœ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์ง€ํ„ฐ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ์ด ์Šค๋ ˆ๋“œ๋ฅผ ๋ฐœ๊ฒฌ ํ•œ ํ›„์—๋Š” ์ฐฝ์—์„œ ์‹คํ–‰ ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.์ด ํŠน์ • ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ์ˆ˜์žˆ๋Š” ์šด์ด ์ข‹์€ ์‚ฌ๋žŒ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์‚ฌํ•ญ์—์„œ ๋””๋ฒ„๊น… ๋ฌธ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ช‡ ์‹œ๊ฐ„ ์•ˆ์— PR์„ ๋ณด๋‚ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@TerminalJack ํฌํฌ๋ฅผ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค (๋˜๋Š” ๋น„๊ณต๊ฐœ๋กœ ์„ค์ •), ๋‹ค์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@Calinou ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ๋ฅผ ํ›”์ณ์„œ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ํฌํฌํ•˜๊ณ  ๊ณง ์—ฌ๊ธฐ์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹ค์‹œ ์ปค๋ฐ‹ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@Calinou ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์ด ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค .

@TerminalJack ๊ท€ํ•˜์˜ ์ˆ˜์ • ์‚ฌํ•ญ์€ Windows์—๋งŒ ํ•ด๋‹น๋˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ Ubuntu์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ•ฉ๋‹ˆ๋‹ค.

@TerminalJack ๊ท€ํ•˜์˜ ์ˆ˜์ • ์‚ฌํ•ญ์€ Windows์—๋งŒ ํ•ด๋‹น๋˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ Ubuntu์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, ์ด๊ฒƒ์€ ํ™•์‹คํžˆ Windows ์ „์šฉ ์ˆ˜์ •์ž…๋‹ˆ๋‹ค. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ถ„ํˆฌ์—์„œ ๋น„์Šทํ•œ ์ž‘์—…์ด ํ•„์š”ํ•œ์ง€ ์—ฌ๋ถ€๋Š” ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปดํฌ ์ง€ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์šฐ๋ถ„ํˆฌ์—์„œ ๋น„์Šทํ•œ ์ž‘์—…์ด ํ•„์š”ํ•œ์ง€ ์—ฌ๋ถ€๋Š” ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปดํฌ ์ง€ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์ผ๋ถ€ ์ฐฝ ๊ด€๋ฆฌ์ž (Ubuntu์˜ ๊ธฐ๋ณธ๊ฐ’ ํฌํ•จ)์—์„œ ๋น„ํ™œ์„ฑํ™” ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. : slightly_smiling_face :

@TerminalJack ์€ ์˜ˆ๋ฅผ ๋“ค์–ด Windows 7์—์„œ Aero๊ฐ€ ๋น„ํ™œ์„ฑํ™” ๋œ ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ๋กœ์ง์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค (IIRC๋Š” v-sync๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ Godot๋Š”์ด ๊ฒฝ์šฐ์—๋„ ์—ฌ์ „ํžˆ v-sync๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค).

@ starry-abyss ๊ทธ ์‚ฌ๊ฑด์ด ์žก ํžˆ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. Windows 7์ด ์„ค์น˜๋œ ์˜ค๋ž˜๋œ ๋…ธํŠธ๋ถ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์ž‘๋™ํ•œ๋‹ค๋ฉด ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Windows 7์ด ์„ค์น˜๋œ 10 ๋…„ ๋œ ๋žฉํ†ฑ์„ ์‹คํ–‰ํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค. (๋‹น์‹œ ๋…ธํŠธ๋ถ GPU๋Š” ๋งค์šฐ ๋‚˜๋นด์Šต๋‹ˆ๋‹ค.) ์ด ๊ฒŒ์‹œ๋ฌผ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ์ „ํ™˜ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

func _input(event):
    if event is InputEventKey && event.scancode == KEY_F && event.pressed:
        # Switch into or out of full screen mode.
        OS.window_fullscreen = !OS.window_fullscreen

๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋“  ์—†๋“  ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ์œผ๋ฉฐ ์–ด๋Š ์ชฝ์ด๋“  ๋ˆˆ์— ๋„๋Š” ์ฐจ์ด๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ์ปดํฌ ์ง€ํ„ฐ๋Š” ์˜ˆ์ƒ๋˜๋Š” ๊ฒฝ์šฐ v ๋™๊ธฐํ™”์— ์‚ฌ์šฉ๋˜๋ฉฐ (์ฐฝ ๋ชจ๋“œ, ์ปดํฌ ์ง€ํ„ฐ ํ™œ์„ฑํ™” ๋จ) ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒฝ์šฐ์—๋Š” OpenGL ์ด์ค‘ ๋ฒ„ํผ๋ง์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ข‹์€ ์†Œ์‹์€ _code_์— ํ•„์š”ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” ์ปดํฌ ์ง€ํ„ฐ๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์ปดํฌ ์ง€ํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์˜ˆ์ธกํ•˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ์ด๋ฏ€๋กœ v-syncing ์ „๋žต์ด ์ฆ‰์‹œ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ swap_buffers() ์˜ ์ฃผ์„์— ํฌํ•จํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์œ ์ผํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ค๋Š˜ irc์—์„œ์ด ๋ฌธ์ œ (๋ฐ TerminalJack์˜ PR)๋ฅผ ๋…ผ์˜ํ•˜๋ฉด์„œ ์ œ๊ธฐ ๋œ ๊ฒƒ ์ค‘ ํ•˜๋‚˜๋Š” ์ธก์ • ๋œ ์ž…๋ ฅ ๋ธํƒ€์˜ ์˜ค๋ฅ˜์™€ ์ถœ๋ ฅ ๋ธํƒ€์˜ ์˜ค๋ฅ˜๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Calinou๋Š” ๋ช…๋ น ์ค„ ์Šค์œ„์น˜ --fixed-fps 60 ๋กœ ์‹คํ–‰ํ•˜์—ฌ์ด๋ฅผ ์–ด๋Š ์ •๋„ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ง€์ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ž…๋ ฅ ๋ธํƒ€๋ฅผ ํ•ญ์ƒ 1/60 ์ดˆ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€์žˆ๋Š” ์‚ฌ๋žŒ๋“ค (ํŠนํžˆ ์ฐฝ)์ด ์ง€ํ„ฐ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€ ์•Œ๋ ค ์ฃผ๋ฉด ๋งค์šฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@lawnjelly ๋ช…๋ น ์ค„ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋น ๋ฅด๊ฒŒ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์Šฌํ”„๊ฒŒ๋„ ์˜ค๋Š˜ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. %) OBS ์‚ฌ๋ก€๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์—ฌ์ „ํžˆ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
ํŽธ์ง‘๊ธฐ ์‚ฌ์ด์— ์ €์žฅ๋œ ์˜ต์…˜ ๊ฐ’์ด ์šฐ์—ฐํžˆ ์‹คํ–‰๋ฉ๋‹ˆ๊นŒ?

ํŽธ์ง‘๊ธฐ ์‚ฌ์ด์— ์ €์žฅ๋œ ์˜ต์…˜ ๊ฐ’์ด ์šฐ์—ฐํžˆ ์‹คํ–‰๋ฉ๋‹ˆ๊นŒ?

์•„๋‹ˆ์š”, ๋ช…๋ น ์ค„ ์ธ์ˆ˜ ์ผ๋ฟ์ž…๋‹ˆ๋‹ค (์ƒํƒœ ๋น„ ์ €์žฅ).

ํ™•์ธ. ๋˜ํ•œ BTW, Godot 3.1.1 (์—ฌ๊ธฐ์„œ ๋Œ€๋ถ€๋ถ„์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฒ„์ „)์—์„œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ™•์ธ. ๋˜ํ•œ BTW, Godot 3.1.1 (์—ฌ๊ธฐ์„œ ๋Œ€๋ถ€๋ถ„์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฒ„์ „)์—์„œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด 3.1.1์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ณ ์ • ๋œ ํƒ€์ž„ ์Šคํ… ๋ณด๊ฐ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— _process ๋™์•ˆ ๋ธํƒ€์— ๋น„๋ก€ํ•˜๋Š” ๊ฑฐ๋ฆฌ๋งŒํผ ๊ฐ์ฒด๋ฅผ ์ด๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

@ starry-abyss์ด ๋ช…๋ น ์ค„ ์ธ์ˆ˜๋Š” 3.1์—์„œ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฏ€๋กœ 3.1.1์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ --fixed-fps 60 ์€ (๋Š”) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ช…๋ น ์ค„์—์„œ ์ง์ ‘ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋„ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค (๋” ๋นจ๋ฆฌ ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํ™”๋ฉด์— ๋ณ„๋„์˜ ํŽธ์ง‘๊ธฐ ์ธ์Šคํ„ด์Šค๊ฐ€ ์—ฌ์ „ํžˆ ์žˆ์Œ).

๋˜ํ•œ --fixed-fps 60 ์š”์ฒญ์ด์ด๋ฅผ ์•”์‹œํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋‘ ๊ฐ€์ง€๋ฅผ ๋™์‹œ์— ์‹œ๋„ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ง€ํ„ฐ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์–ด์ œ ์žฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋˜ ๊ฒƒ์€ ์ด์ „ ํ…Œ์ŠคํŠธ์˜ ์˜ต์…˜์—์„œ v-sync๊ฐ€ ๊บผ์ ธ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. : /

๊ณ ์ • ๋œ ์‹œ๊ฐ„ ๋‹จ๊ณ„ ๋ณด๊ฐ„์ด ์—†์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก , ๋‚˜๋Š” ํ•œ ๋ฒˆ์— ๋ชจ๋‘๊ฐ€ ์•„๋‹Œ ๋ฐฉ๋ฒ•์„ ํ•˜๋‚˜์”ฉ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (๋ณด๊ฐ„ ํ”Œ๋Ÿฌ๊ทธ์ธ + dwmflush + ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด์™€ ๊ฐ™์ง€ ์•Š์Œ).
๋˜ํ•œ ๋‹ค์Œ์— ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด๋ฅผ ์‹œ๋„ํ•˜๊ธฐ์œ„ํ•œ ๊ตฌ์ฒด์ ์ธ ๋‹จ๊ณ„๋ฅผ ํฌํ•จ ์‹œํ‚ค์‹ญ์‹œ์˜ค. ๊ทธ๋ž˜์„œ ์ €๋Š” Godot ๋ฒ„์ „์„ ์ถ”์ธกํ•˜๊ฑฐ๋‚˜ ํŽธ์ง‘๊ธฐ ๋‚˜ ๊ฒŒ์ž„์„ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ์‹œ๋„ํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์กฐํ•ฉ์˜ ์–‘์„ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ฆฌ๋Š” ๋ชจ๋“  ์•„์ด๋””์–ด). :ํ”ผ

๋ฌผ๋ก , ๋‚˜๋Š” ํ•œ ๋ฒˆ์— ๋ชจ๋‘๊ฐ€ ์•„๋‹Œ ๋ฐฉ๋ฒ•์„ ํ•˜๋‚˜์”ฉ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (๋ณด๊ฐ„ ํ”Œ๋Ÿฌ๊ทธ์ธ + dwmflush + ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด์™€ ๊ฐ™์ง€ ์•Š์Œ).
๋˜ํ•œ ๋‹ค์Œ์— ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด๋ฅผ ์‹œ๋„ํ•˜๊ธฐ์œ„ํ•œ ๊ตฌ์ฒด์ ์ธ ๋‹จ๊ณ„๋ฅผ ํฌํ•จ ์‹œํ‚ค์‹ญ์‹œ์˜ค. ๊ทธ๋ž˜์„œ ์ €๋Š” Godot ๋ฒ„์ „์„ ์ถ”์ธกํ•˜๊ฑฐ๋‚˜ ํŽธ์ง‘๊ธฐ ๋‚˜ ๊ฒŒ์ž„์„ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ์‹œ๋„ํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์กฐํ•ฉ์˜ ์–‘์„ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ฆฌ๋Š” ๋ชจ๋“  ์•„์ด๋””์–ด). :ํ”ผ

๋ฌธ์„œ์— ์–ธ๊ธ‰๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ ์ฝ”์–ด์— ๊ณ ์ • ๋œ ํƒ€์ž„ ์Šคํ… ๋ณด๊ฐ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋ฌธ์„œ๋ฅผ ์œ„ํ•ด ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋ญ”๊ฐ€๋ฅผ ์‹œ๋„ํ•˜๊ณ  ์ž‘์„ฑํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ „์— ๋ฌธ์„œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

_ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค ._
๋‹ค๋ฅธ ๋ฌธ์ œ (๋ธํƒ€, OS)์— ๊ด€๊ณ„์—†์ด ๋ฌผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ _physics_process์—์„œ ๊ฐ์ฒด๋ฅผ ์ด๋™ํ•˜๋ฉด ํ˜„์žฌ Godot๋Š” ๋ฌผ๋ฆฌ ํ‹ฑ๊ณผ ์‹ค์ œ ํ”„๋ ˆ์ž„ ๊ฐ„์˜ ์•จ๋ฆฌ์–ด์‹ฑ ๊ฒฐ๊ณผ๋กœ ์ง€ํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ชจ๋“  ๋ฌผ๋ฆฌ ํ‹ฑ ์†๋„ / ๋ชจ๋‹ˆํ„ฐ ์ƒˆ๋กœ ๊ณ ์นจ ์†๋„ ์กฐํ•ฉ์—์„œ ์–ด๋Š ์ •๋„ ๋ฐœ์ƒํ•˜๋ฉฐ ์ผ๋ถ€๋Š” ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ๋‚˜๋น ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

'์ง€ํ„ฐ ์ˆ˜์ •'๋ฐฉ๋ฒ•์€์ด ์•จ๋ฆฌ์–ด์‹ฑ์ด ๋œ ๋šœ๋ ทํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฐœ์ƒํ•˜๋„๋กํ•˜์—ฌ์ด ์•จ๋ฆฌ์–ด์‹ฑ์„ ํšŒํ”ผํ•˜๋ ค๋Š” ์‹œ๋„์˜€์Šต๋‹ˆ๋‹ค (์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค). ๊ณ„๋‹จ ์•จ๋ฆฌ์–ด์‹ฑ์„ ์ƒ๊ฐํ•ด๋ณด์‹ญ์‹œ์˜ค.

์ด '๊ธฐ๋ณธ ์ˆ˜์ค€'์ง€ํ„ฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ํ˜„์žฌ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
1) (๋ชจ๋“  Godot ๋ฒ„์ „์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ) _process์—์„œ ๊ฐœ์ฒด๋ฅผ ์ด๋™ํ•˜๊ณ  ๋ธํƒ€์— ๋น„๋ก€ํ•˜๋Š” ๊ฑฐ๋ฆฌ๋งŒํผ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜์—†๊ณ  ๋™์ž‘์ด ํ”„๋ ˆ์ž„ ์†๋„์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒŒ์ž„์— ์ ํ•ฉํ•˜์ง€ ์•Š์ง€๋งŒ ์ง€ํ„ฐ ํ…Œ์ŠคํŠธ์—๋Š” ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

2) (Godot 3.2 ์ด์ƒ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ) ๊ณ ์ • ํƒ€์ž„ ์Šคํ… ๋ณด๊ฐ„์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Engine-> get_physics_interpolation_fraction () ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” 3.2์—์„œ๋งŒ ์ง„์ •์œผ๋กœ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ˆ๋Š” https://github.com/lawnjelly/smoothing-addon ์„ ์ฐธ์กฐ

์ง€ํ„ฐ ์กฐ์‚ฌ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์˜ ์ „์ œ ์กฐ๊ฑด์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋ฌผ์ฒด์˜ ์œ„์น˜์™€ ์‹œ๊ฐ„ ์‚ฌ์ด์— ์„ ํ˜• ๊ด€๊ณ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋Œ€์•ˆ (์ดˆ๋ณด์ž ์นœํ™”์  ์ธ) ๋ฐฉ๋ฒ•์€ ๋ฐ˜ ๊ณ ์ • ๋œ ํƒ€์ž„ ์Šคํ…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, 7 ์›” # 30798 ์ดํ›„๋กœ PR์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๊ณผํ•™์  ์กฐ์‚ฌ ๋ฐ ๊ฐ€์„ค ํ…Œ์ŠคํŠธ์˜ ๊ธฐ์ดˆ์ž…๋‹ˆ๋‹ค. ์•„์ด๋””์–ด๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ํ˜ผ๋ž€ ํšจ๊ณผ๋ฅผ ์ค„์ด๊ณ  ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

1) ๊ฐœ์ฒด ์œ„์น˜์™€ ๊ฒŒ์ž„ ์‹œ๊ฐ„ ๊ฐ„์˜ ์„ ํ˜• ๊ด€๊ณ„ (์œ„ ์ฐธ์กฐ)
2) ์ž…๋ ฅ ํƒ€์ด๋ฐ ์˜ค๋ฅ˜
3) ์ถœ๋ ฅ ํƒ€์ด๋ฐ ์˜ค๋ฅ˜

์œ„์™€ ๊ฐ™์ด (1)์„ ์ œ๊ฑฐํ•˜์‹ญ์‹œ์˜ค. ๋ช…๋ น ์ค„ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ (2)๋ฅผ ์ œ๊ฑฐํ•œ ๋‹ค์Œ (3)์„ ๋”ฐ๋กœ ๊ฒ€์‚ฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ง€ํ„ฐ๋ฅผ ์กฐ์‚ฌํ•˜๋ ค๋ฉด ๋ฌผ๋ฆฌํ•™์ด ์ž ์žฌ์ ์œผ๋กœ ์ง€ํ„ฐ ์ž์ฒด๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฌผ๋ฆฌํ•™์„ ํ†ตํ•˜์ง€ ์•Š๊ณ  ์ง์ ‘ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ด๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

_ํŽธ์ง‘ํ•˜๋‹ค:_
๋ฐฉ๊ธˆ์ด ์Šค๋ ˆ๋“œ์—์„œ ์ตœ์†Œ ์žฌํ˜„ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ดํŽด ๋ณด์•˜์œผ๋ฉฐ (ํฌ๋ฆฝ์„ ํ”ผํ•˜์‹ญ์‹œ์˜ค) _process์—์„œ ์†๋„ * ๋ธํƒ€๋กœ ์ด๋™ ์ค‘์ž…๋‹ˆ๋‹ค. is_action_pressed์— ์˜์กดํ•˜๊ณ  ๊ฐœ์ธ์ ์œผ๋กœ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ๋กœ ์ œ๊ฑฐํ•˜์ง€๋งŒ ์•„๋งˆ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€ํ„ฐ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒฝ์šฐ ์œ„์˜ ์‚ฌํ•ญ์„์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค.

@lawnjelly ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค . ๋‚˜๋Š” ๋ณด๊ฐ„ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์—ฌ์ „ํžˆ ์†Œ์ˆ˜์˜ ์‚ฌ๋žŒ๋“ค์— ์˜ํ•ด์„œ๋งŒ ํ…Œ์ŠคํŠธ๋˜๊ณ  ๋ฒ„๊ทธ๊ฐ€์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค (์‹ฌ์ง€์–ด ์ง€ํ„ฐ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค). ๊ทธ๋ž˜์„œ ์ €๋Š” ์•ˆ์ •๋œ (3.1.1)์„ ์ทจํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด "๊ณผํ•™์ "์ด ์ €์—๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
๋‹ค์Œ์—๋Š” ์ƒˆ๋กœ์šด ๊ณ ๋ ค ์‚ฌํ•ญ์„ ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ์Šค๋ ˆ๋“œ์—์„œ ์ตœ์†Œ ์žฌํ˜„ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ดํŽด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์›๋ž˜ ํ”„๋กœ์ ํŠธ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ (์ง€ํ„ฐ๋ฅผ ๊ฐ€๋ฆด ์ˆ˜ ์žˆ์Œ)์„ ์‚ฌ์šฉํ•˜๊ณ  ํšŒ์ƒ‰ ๋ฐฐ๊ฒฝ ์œ„์— ํšŒ์ƒ‰ ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋‚ด ํ”„๋กœ์ ํŠธ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ค€์— ๋งž๋„๋ก ์กฐ์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ --fixed-fps 60 ์€ (๋Š”) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋งค์šฐ ์œ ์šฉํ•œ ์ •๋ณด์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋น„๋‚œ์˜ ๋พฐ์กฑํ•œ ์†๊ฐ€๋ฝ์„ ์ถœ๋ ฅ ์ง€์—ฐ (๋ฐ ํ•ฉ์„ฑ ์ž)์œผ๋กœ ์˜ฎ๊ธฐ๊ณ  PR์˜ ์ ‘๊ทผ ๋ฐฉ์‹์— ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ด์ค‘ / ์‚ผ์ค‘ ๋ฒ„ํผ๋ง์„ ์‚ฌ์šฉํ•˜๊ณ  ํŒŒ์ดํ”„ ๋ผ์ธ์„ ๊ณ„์† ๊ณต๊ธ‰ํ•˜๊ณ  ํ”„๋ ˆ์ž„์„ ์‚ญ์ œํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น ์ค„ ์ธ์ˆ˜๊ฐ€ ์žˆ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€ ์ž…๋‹ˆ๊นŒ?

์›๋ž˜ ํ”„๋กœ์ ํŠธ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  (์ง€ํ„ฐ๋ฅผ ๊ฐ€๋ฆด ์ˆ˜ ์žˆ์Œ) ํšŒ์ƒ‰ ๋ฐฐ๊ฒฝ ์œ„์— ํšŒ์ƒ‰ ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋‚ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ค€์— ๋งž๋„๋ก ์กฐ์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์•„, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! : +1 :

@lawnjelly ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค . ๋‚˜๋Š” ๋ณด๊ฐ„ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์—ฌ์ „ํžˆ ์†Œ์ˆ˜์˜ ์‚ฌ๋žŒ๋“ค์— ์˜ํ•ด์„œ๋งŒ ํ…Œ์ŠคํŠธ๋˜๊ณ  ๋ฒ„๊ทธ๊ฐ€์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค (์‹ฌ์ง€์–ด ์ง€ํ„ฐ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค).

์ฃผ์ œ์—์„œ ์•ฝ๊ฐ„ ๋ฒ—์–ด ๋‚ฌ์ง€๋งŒ ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค (๋ช‡ ์ฃผ ๋™์•ˆ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค). ์ง€ํ„ฐ๋ฅผ ๋„์ž…ํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ์ด์Šˆ ํŠธ๋ž˜์ปค์— ์•Œ๋ ค์ฃผ๊ฑฐ๋‚˜ PR์„ํ•˜์‹ญ์‹œ์˜ค. : +1 : 3.2 ๊ณต์‹ ์• ๋“œ์˜จ์— ์˜ฌ๋ฆด ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. _ ๋‚ด๊ฐ€ ๋Œ์•„ ๋‹ค๋‹ ๋•Œ _ : smile :.

๋ฟก ๋นต๋€จ

๋ช…๋ น ์ค„ ์ธ์ˆ˜๊ฐ€ ์žˆ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€ ์ž…๋‹ˆ๊นŒ?

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ œ์•ˆ ์‚ฌํ•ญ์„ ์‹œ๋„ํ•ด ๋ณผ ๊ธฐํšŒ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ œ๊ฐ€ ์ž‘์—…ํ•˜๊ณ ์žˆ๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ผ์ข…์˜ ํ† ๋ผ ๊ตฌ๋ฉ์„ ๋šซ์—ˆ์Šต๋‹ˆ๋‹ค.

@lawnjelly PR ์Šค๋ ˆ๋“œ์—์„œ ๋…ผ์˜ํ•œ ๋‚ด์šฉ์— ๋”ฐ๋ผ --fixed-fps <fps> ๋ช…๋ น ์ค„ ์˜ต์…˜์— ๋Œ€ํ•ด ๊ท€ํ•˜๊ฐ€ ๋งž์•˜๋‹ค ๊ณ  ์–ธ๊ธ‰ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ vsync๋ฅผ ํ™œ์„ฑํ™” ์ƒํƒœ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ง์”€ํ•˜์‹  ๊ฒƒ์ฒ˜๋Ÿผ ๋ธํƒ€ ๊ณ„์‚ฐ๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด์ „์— ์‹œ๋„ํ–ˆ์„ ๋•Œ ์—‰๋ง์ง„์ฐฝ์ด์—ˆ๊ณ  ์ง€๊ธˆ์€ ๊ทธ๋ ‡์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ง์„ ๋”๋“ฌ ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ํ™•๋ฆฝ ๋‚ด ๋ณ€ํ™”์™€ ํ•จ๊ป˜์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ ์‚ฌ์šฉ DwmFlush() ํŽธ์ง‘๊ธฐ ์™ธ๋ถ€์—์„œ ์‹คํ–‰ ๋•Œ ๋„์›€์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. DwmFlush() ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋‹ค๋ฅธ ์ฐฝ ์ฃผ์œ„๋ฅผ ๋“œ๋ž˜๊ทธํ•˜๊ฑฐ๋‚˜ ์ž‘์—… ํ‘œ์‹œ ์ค„์—์„œ ์‹คํ–‰์ค‘์ธ ์ž‘์—… ์ค‘ ํ•˜๋‚˜ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ ๊ฐ€๋ฉด ๊ฒŒ์ž„์—์„œ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ, ๊ฒŒ์ž„์ด 'Above Normal'์šฐ์„  ์ˆœ์œ„๋กœ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. (๊ทธ๋ฆฌ๊ณ  DwmFlush() ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰