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
์๋
ํ์ธ์. ๋ค๋ฅธ ์ปดํจํฐ (์ง)์์ ํ
์คํธํ๊ธฐ ๋๋ฌธ์ ๋ณด๊ณ ์๋ฅผ ์
๋ฐ์ดํธํ์ผ๋ฉฐ ์ ๋๋ฉ์ด์
์ ๋ณ๊ฒฝํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์ฌ๊ธฐ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๊ฒ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ์ ๋๋ฉ์ด์
์ด ์๋๋๋ค. ๋
ธํธ๋ถ์์๋ ๊ฒ์ ๋ณด์์ ๋ ํ๋ฉด์ด ์๊ธฐ ๋๋ฌธ์ ๋ฏฟ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ค์์ ๋ฌธ์ ์ ๋ํ ๋์์์
๋๋ค (๋์์์ 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 ๋น๋ 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 ๋๋ผ์ด๋ฒ)์์๋ง ๋ฐ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์๊ณ ์ถ์ต๋๋ค.
์ถ์ : ๋ค๋ฅธ PC๋ก ์๋ํ์ต๋๋ค.
์ ๋ ์ด๋ฌํ ์ข ๋ฅ์ 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
๋ณ๊ฒฝํ๋ฉด ์ด๋ป๊ฒ๋๋์ง๋ณด๊ณ ์ถ์ง๋ง ... ์ ...
์ด์จ๋ , ๋ด๊ฐ ์ถ์ธก ํ ์์๋ ๊ฒ์ (ํ์ง๋ง ์ถ์ธก ์ผ ๋ฟ์ด๋ฏ๋ก ์๊ธ ํ ์๋ก ๊ฐ์ ธ ๊ฐ์ญ์์ค) : ๊ทธ๊ฒ์ ์ง์ 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 ๋นํธ ๋ฐ ๋ฉ๋ชจ์์ ๋ ๋๋งํ๋ ๋ฐ ์ฌ์ฉํ๋ ํ๋ก์ธ์ค์ ๋๋ค.
Ori and the blind forest-> 32 ๋นํธ / Unity / Windows GDI. godot์ฒ๋ผ OPENGL32๋ผ๋ ํ๋ก์ธ์ค๋ฅผ ์คํํ์ง๋ง Windows GDI์์๋ ์ผ์ข
์ ๋ํผ์
๋๋ค. OpenGL32์ ๋จ์ผ ํธ์ถ์ด ์๋๋ผ ๋ชจ๋ ํธ์ถ์ด Windows GDI์์ ๋ฐ์ํฉ๋๋ค.
Dust : An Elysyian Tail-> 32 ๋นํธ / Microsoft XNA / Windows GDI. gameoverlayrenderer.dll์ด ์์ผ๋ฉฐ ๋ชจ๋ ํธ์ถ์ ์ฌ๊ธฐ (ClientToScreen)์์ ์ด๋ฃจ์ด์ง๋๋ค. OpenGL dll์ด ์์ต๋๋ค.
ฮV : Rings of Saturn (๋ฐ๋ชจ)-> 64 ๋นํธ, godot / OpenGL ๋ฐ Windows GDI ํธ์ถ ์คํ, OpenGl SwapBuffers์ ๋ํ ๋จ์ผ ํธ์ถ ์ํ-๊ฐ์ด 8 ์ธ GetPixelformat Windows GDI๋ฅผ ๋ง์ด ํธ์ถํฉ๋๋ค. ์ค๋ณต ํตํ๋ฅผํฉ๋๊น? WindowsFromDC-SetRect (์ฐฝ ํฌ๊ธฐ), OffsetRect.
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 ๋ฐ ๊ธฐํ ์ฐฝ ๊ธฐ๋ฅ์ ์คํํฉ๋๋ค.
Sine Mora-> 32 ๋นํธ / Unknow ์์ง / Steam ์ค๋ฒ๋ ์ด, dicect3d 9๋ก Windows GDI์ ๋ชจ๋ ํธ์ถ ์คํ
์ด์ ์ด ๋ง์ถฐ์ง ๋๋ถ๋ถ์ ๊ฒ์์ด ํ๋ก์ธ์ค๋ฅผ ์ค์งํ๊ณ ์ผ์ ์ค์ง (์ข์ ์ฐ์ต์ผ๊น์?)ํ๊ณ ํ๋ฉด ํฌ๊ธฐ๋ฅผ ์๋์ผ๋ก ์กฐ์ ํ ์์๋ ๊ฒ์์ ๊ฑฐ์ ์์ต๋๋ค (ej : ์์ ์ด ์๋). ์ฌํ๊ฒ๋ ฮV : Rings of Saturn (๋ฐ๋ชจ)์์ ์ด์ ์์ค / ์ด์ ์ด๋์ด๋ผ๋ ๋ง๋๋ฌ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํธ์ง : godot์ด OpenGL32์ WindowsGDI ํ๋ก์ธ์ค๋ฅผ ๋์์ ์ฌ์ฉํ๋ ์ ์ผํ ์์ง ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ์ฉํ ์ฑ : API Monitor v2
(ํธ์ง : ฮV์ ์ ํํ ์ด๋ฆ : ํ ์ฑ์ ๊ณ ๋ฆฌ (๋ฐ๋ชจ))
Rings of Saturn์ด ์๋ฏธํ๋ ๊ฒฝ์ฐ ฮV : Rings of Saturn (๋ฐ๋ชจ), Godot 3.1๋ก ์ ์๋์์ง๋ง ์ฌ์ฉ ๋ ์ ํํ ๊ฐ์ ํ์ด ํ์คํ์ง ์์ต๋๊น?
๋๊น์ ์์ธ์ ํ์ ํ๊ธฐ ์ํด ์ฌ๋ฌ ์๊ฐ์ ๋ ธ๋ ฅํ ๋์, ์ ์ด๋ ์ ๊ฒฝ์ฐ์๋ '์๋ํฐ ์ค์ '์์ '์๊ฒฉ ์ฅ๋ฉด ํธ๋ฆฌ๋ก ์๋ ์ ํ'์ ํ์ฑํํ๋ ์ผ๊ด๋ 1 ์ด ๋๊น ํ์์ ์ฐ์ฐํ ์ถ์ ํ์ต๋๋ค. ์ด ํ์๋ฅผ ํด์ ํ๋ฉด ๋๊น ํ์๊ณผ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. (์์ฃผ ์ฝ๊ฐ์ ๋ง๋๋ฌ์ด์์ ์ ์์ง๋ง ๊ฑฐ์ ๋์ ๋์ง ์์ต๋๋ค.)
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
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)
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)
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์ ๋ชจ๋ํฐ ํด์๋๋ก ํ ์คํธํ์ต๋๋ค.
์ด์ ๋ด ๊ด์ฐฐ :
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๋ง์ด ์ฐ๋ฆฌ๋ฅผ ๊ตฌํ ์ ์์ต๋๋ค."
์์์ด ๊ทธ๋์:
๋ด ์์ ์ ๋ น์์ ์นฉํ, ์ด๊ฒ์ Bandicam ์ผ๋ก ์ํ๋๋ฉฐ ๋๋ถ๋ถ ๋ น์ ์ ๋ฌด์ ๊ด๊ณ์์ด ์ํ๋ฉ๋๋ค. ๋ณด์๋ค์ํผ ์์กฐ๋กญ๊ฒ ์์๋์ง๋ง ์ ์ฐจ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์์ํฉ๋๋ค.
@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 ()๋ฅผ ํ ์คํธํ์ต๋๋ค.
ํ์คํ์ง ์์ง๋ง 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()
๊ฐ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ์๋ ๊ทธ๋ ์ง ์์ต๋๋ค.)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ฌธ์ ๊ฐ godot๊ณผ ์ง์ ์ ์ผ๋ก ๊ด๋ จ์ด์์ ์๋ ์์ง๋ง godot์ ์ ๋ง๋๋ฌ ๋ฌธ์ ๋ฅผ ์์ ํด์ผํฉ๋๋ค. ๋ค๋ฅธ ์ค๋ ๋์์ ๋งํ ๊ฒ์ฒ๋ผ ๋ชจ๋ ๊ฒ์์ด ๋๋ฌ ๊ฑฐ๋ฆฌ๋ ๊ฒ์ ์ฌ์ค์ด ์๋๋๋ค. ์ค๋ ๋๋ n ++, ์ ์ฒด ํ๋ฉด, ์ฐฝ, ์ด๋ค ๋๊น๋ ๋ณด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์๋๋ฐ .. ์ ํ ๋๊น์ด ์์ต๋๋ค. Ori์ ๋ธ๋ผ์ธ๋ ํฌ๋ ์คํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก,์ด ๊ฒ์์์ ๋ง๋๋ฌ์ด ๋ฐ์ํ๊ธฐ ์ํด์๋ ๋ง์ ๋์ ์ผ์ด ํ์ํฉ๋๋ค (๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ๊ณผ ํจ๊ป ์ฐฝ ๋ฑ ... ๊ทธ๋ฆฌ๊ณ ํ ์๊ฐ์ 2 ~ 3 ํ๋ ์ ์คํต ...). Godot๋ ์คํ์ ์์ํ ๋ ํญ์ x ์ด ๋์ ๋๊ธฐ๊ณ ๋์ค์ ์์ ํ๋์ง๋ง X ์ด๋ง๋ค ํ๋ ์ ์คํต์ด ๋ฐ์ํฉ๋๋ค (๋ฌผ๋ก gtx1060์ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด). ์ด ๋ฌธ์ ๋ฅผ ์ฌ์ํ ๋ฌธ์ ๋ก ์ทจ๊ธํด์๋ ์๋ฉ๋๋ค.