Vulkan API ์œ„์— Direct1.3D 3/10์„ ๊ตฌํ˜„ํ•œ DXVK 11 ํ”„๋กœ์ ํŠธ ์ถœ์‹œ

ํ˜•์„ฑ๋œ ์ค‘๊ฐ„์ธต ๋ฆด๋ฆฌ์Šค DXVK 1.3๋Š” Vulkan API์— ๋Œ€ํ•œ ํ˜ธ์ถœ ๋ณ€ํ™˜์„ ํ†ตํ•ด ์ž‘๋™ํ•˜๋Š” DXGI(DirectX ๊ทธ๋ž˜ํ”ฝ ์ธํ”„๋ผ), Direct3D 10 ๋ฐ Direct3D 11์˜ ๊ตฌํ˜„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. DXVK๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ•„์ˆ˜ ๋“œ๋ผ์ด๋ฒ„ ์ง€์› ๋ฒŒ์นธ API์™€ ๊ฐ™์€
AMD RADV 18.3, NVIDIA 415.22, ์ธํ…” ANV 19.0 ๋ฐ AMDVLK.

DXVK๋Š” Wine์„ ์‚ฌ์šฉํ•˜์—ฌ Linux์—์„œ 3D ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ OpenGL ์œ„์—์„œ ์‹คํ–‰๋˜๋Š” Wine์˜ ๊ธฐ๋ณธ Direct3D 11 ๊ตฌํ˜„์— ๋Œ€ํ•œ ๊ณ ์„ฑ๋Šฅ ๋Œ€์•ˆ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•ˆ์— ์ผ๋ถ€ ๊ฒŒ์ž„ Wine+DXVK ์กฐํ•ฉ์˜ ์„ฑ๋Šฅ ๋‹ค๋ฅธ OpenGL ๊ธฐ๋ฐ˜ Direct10D 20 ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ Windows์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ์„ฑ๋Šฅ์ด 3~11%๋งŒ ๊ฐ์†Œํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์€ ๋”์šฑ ํฌ๊ฒŒ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€๋œ ๊ฐœ์„  ์‚ฌํ•ญ:

  • Vulkan ํ™•์žฅ VK_EXT_shader_demote_to_helper_invocation์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์…ฐ์ด๋”์˜ "discard" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ ํ™”๋ฅผ ๊ตฌํ˜„ํ–ˆ์œผ๋ฉฐ ์ผ๋ถ€ ๊ฒŒ์ž„์—์„œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์ ํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด winevulkan ๊ตฌ์„ฑ ์š”์†Œ์™€ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(Intel์—์„œ Mesa 19.2-git์œผ๋กœ, NVIDIA์—์„œ ๋…์  ๋“œ๋ผ์ด๋ฒ„ 418.52.14-beta๋กœ, AMD ๋“œ๋ผ์ด๋ฒ„๋Š” ์•„์ง VK_EXT_shader_demote_to_helper_invocation ํ™•์žฅ์„ ์ง€์›ํ•˜์ง€ ์•Š์Œ).
  • ๋ Œ๋”๋ง ๊ฒฐ๊ณผ๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค(๋‹จ๊ณ„ ํ”„๋ ˆ์  ํ…Œ์ด์…˜). ๊ธฐ๋ณธ ๋ Œ๋”๋ง ์Šค๋ ˆ๋“œ์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ด์ œ ์ถœ๋ ฅ ์ฒ˜๋ฆฌ๊ฐ€ ๋ช…๋ น ์ œ์ถœ ์Šค๋ ˆ๋“œ์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ์‹ ์ฒ˜๋ฆฌ์˜ ์„ฑ๋Šฅ ์ด์ ์€ ๋†’์€ ํ”„๋ ˆ์ž„ ์†๋„ ์ถœ๋ ฅ ๋ฐ ๋ฆฌ์†Œ์Šค ์ง‘์•ฝ์ ์ธ ๋ช…๋ น ์ „์†ก์—์„œ ํŠนํžˆ ๋‘๋“œ๋Ÿฌ์ง‘๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ๊ด€์ฐฐ๋œ ๊ฒŒ์ž„ ์ค‘์—์„œ Quake Champions๋Š” AMD GPU๊ฐ€ ํƒ‘์žฌ๋œ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋  ๋•Œ ์ฃผ๋ชฉ๋ฉ๋‹ˆ๋‹ค.
  • ์ด์ œ Vulkan ์ง€์› ์žฅ์น˜์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ณต์‚ฌ ์—”์ง„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ถ€ํŠธ์ŠคํŠธ๋žฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ํ˜„์žฌ๋Š” AMDVLK ๋ฐ NVIDIA ๋“œ๋ผ์ด๋ฒ„์—์„œ๋งŒ ์ง€์›๋จ). ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด ์ค‘์— ๋งŽ์€ ์ˆ˜์˜ ํ…์Šค์ฒ˜๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒŒ์ž„์—์„œ ํ”„๋ ˆ์ž„ ์‹œ๊ฐ„ ์ผ๊ด€์„ฑ์ด ์•ฝ๊ฐ„ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ์ƒํƒœ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ ๋กœ๊น…์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • MSVC(Microsoft Visual C++)์™€์˜ ํ˜ธํ™˜์„ฑ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๋ก  ์ค‘์— ๋ฐ˜๋ณต๋˜๋Š” ๋ฐ˜๋ณต ๊ฒ€์‚ฌ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ GPU ์ œํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ CPU ๋ถ€ํ•˜๋ฅผ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Final Fantasy XIV์—์„œ ๋ฐœ์ƒํ•œ ์ด๋ฏธ์ง€ ํ•˜์œ„ ๋ฆฌ์†Œ์Šค์˜ ์ด์ค‘ ๋งคํ•‘ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Scrap Mechanic ๊ฒŒ์ž„์—์„œ ๋ฐœ์ƒํ•œ RSGetViewport ๋ฉ”์„œ๋“œ์˜ ์ž˜๋ชป๋œ ๋™์ž‘์œผ๋กœ ์ธํ•œ ์ถฉ๋Œ์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€