DXVK 2.0 ์ถœ์‹œ, Vulkan API ์œ„์— Direct3D 9/10/11 ๊ตฌํ˜„

DXVK 2.0 ๋ ˆ์ด์–ด๊ฐ€ ์ถœ์‹œ๋˜์–ด DXGI(DirectX Graphics Infrastructure), Direct3D 9, 10 ๋ฐ 11 ๊ตฌํ˜„์„ ์ œ๊ณตํ•˜๊ณ  Vulkan API์— ๋Œ€ํ•œ ํ˜ธ์ถœ ๋ณ€ํ™˜์„ ํ†ตํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. DXVK์—๋Š” Mesa RADV 1.3, NVIDIA 22.0, Intel ANV 510.47.03 ๋ฐ AMDVLK์™€ ๊ฐ™์€ Vulkan 22.0 API๋ฅผ ์ง€์›ํ•˜๋Š” ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. DXVK๋Š” OpenGL ์œ„์—์„œ ์‹คํ–‰๋˜๋Š” Wine์˜ ๋‚ด์žฅ Direct3D 3/9/10 ๊ตฌํ˜„์— ๋Œ€ํ•œ ๊ณ ์„ฑ๋Šฅ ๋Œ€์•ˆ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” Wine์„ ์‚ฌ์šฉํ•˜์—ฌ Linux์—์„œ 11D ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ :

  • Vulkan ๊ทธ๋ž˜ํ”ฝ API ๋ฒ„์ „์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ฆ๊ฐ€ํ•˜์—ฌ Vulkan 1.3์„ ์ง€์›ํ•˜๋Š” ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ž‘๋™ํ•ด์•ผ ํ•˜๋ฏ€๋กœ(์ด์ „์—๋Š” Vulkan 1.1์ด ํ•„์š”ํ•จ) ์…ฐ์ด๋” ์ปดํŒŒ์ผ๊ณผ ๊ด€๋ จ๋œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ DXVK 2.0์€ D3D11 ๋ฐ D3D12 ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Proton Experimental ํŒจํ‚ค์ง€ ์‚ฌ์šฉ์„ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Winevulkan์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์ตœ์†Œํ•œ Wine 7.1์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • dxvk-native ํ”„๋กœ์ ํŠธ์˜ ์ฝ”๋“œ๊ฐ€ ์ฑ„ํƒ๋˜์–ด Linux์šฉ ๊ธฐ๋ณธ DXVK ๋นŒ๋“œ(Wine์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์Œ)๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Windows ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์ง€๋งŒ ์ผ๋ฐ˜ Linux ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ƒ์„ฑ์— ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. D3D ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  Linux์šฉ ๊ฒŒ์ž„ ํฌํŠธ.
  • Direct3D 9์— ๋Œ€ํ•œ ์ง€์›์ด ํ™•์žฅ๋˜์–ด ํ–ฅ์ƒ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ(๋ฉ”๋ชจ๋ฆฌ ๋งคํ•‘๋œ ํŒŒ์ผ์€ ํ…์Šค์ฒ˜ ๋ณต์‚ฌ๋ณธ์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋จ), ํ•ซ์ŠคํŒŸ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์ฝ๊ธฐ ์ง€์›(GTA IV๋ฅผ ํ”Œ๋ ˆ์ดํ•  ๋•Œ ์•„ํ‹ฐํŒฉํŠธ ๋ชจ์–‘ ๋ฌธ์ œ ํ•ด๊ฒฐ), ์žฌ์„ค๊ณ„๋œ ๊ตฌํ˜„ ํˆฌ๋ช…๋„ ํ™•์ธ.
  • Direct3D 10์˜ ๊ฒฝ์šฐ d3d10.dll ๋ฐ d3d10_1.dll ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์œผ๋ฉฐ ์™€์ธ์— D3D10์˜ ๊ณ ๊ธ‰ ๊ตฌํ˜„์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— D3D10 API์— ๋Œ€ํ•œ ์ง€์›์€ d3d10core.dll ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค.
  • Direct3D 11์— ๋Œ€ํ•œ ์ง€์›์ด ๊ธฐ๋Šฅ ์ˆ˜์ค€ 12_1(D3D11 ๊ธฐ๋Šฅ ์ˆ˜์ค€)๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜์–ด Tiled Resources, Conservative Rasterization ๋ฐ Rasterizer Ordered Views์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ธฐ ๋ช…๋ น์„ ์ƒ์„ฑํ•˜๋Š” ์žฅ์น˜ ์ปจํ…์ŠคํŠธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ID3D11DeviceContext ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์ด ์žฌ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ ๋™์ž‘์ด Windows์— ๋” ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ์žฌ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๊ฐœ์„ ํ•˜๊ณ  CPU์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ง€์—ฐ๋œ ์ปจํ…์ŠคํŠธ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ์ž„(์˜ˆ: Assassin's Creed: Origins) ๋˜๋Š” ClearState ์ž‘์—…์„ ์ž์ฃผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒŒ์ž„(์˜ˆ: God of War)์—์„œ CPU ์‚ฌ์šฉ๋Ÿ‰์ด ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์…ฐ์ด๋” ์ปดํŒŒ์ผ๊ณผ ๊ด€๋ จ๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. VK_EXT_graphics_pipeline_library ํ™•์žฅ์„ ์ง€์›ํ•˜๋Š” Vulkan ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ Vulkan ์…ฐ์ด๋”๋Š” ๊ฒŒ์ž„์ด D3D ์…ฐ์ด๋”๋ฅผ ๋กœ๋“œํ•  ๋•Œ ์ปดํŒŒ์ผ๋˜๊ณ  ๋ Œ๋”๋ง ์ค‘์—๋Š” ์ปดํŒŒ์ผ๋˜์ง€ ์•Š์•„ ๊ฒŒ์ž„ ์ค‘ ์…ฐ์ด๋” ์ปดํŒŒ์ผ๋กœ ์ธํ•œ ์ •์ง€ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ํ™•์žฅ์€ ํ˜„์žฌ ๋ฒ„์ „ 520.56.06๋ถ€ํ„ฐ ๋…์  NVIDIA ๋“œ๋ผ์ด๋ฒ„์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
  • D3D11 ์…ฐ์ด๋”๋Š” Vulkan ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํ•œ ๋ฒˆ์— ๋ฐ”์ธ๋”ฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค ์ˆ˜์— ๋Œ€ํ•œ ์ œํ•œ์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒŒ์ž„์— ๋‚˜ํƒ€๋‚˜๋Š” ์ˆ˜์ •๋œ ๋ฌธ์ œ:
    • ์•จ๋Ÿฐ ์›จ์ดํฌ
    • ์•จ๋ฆฌ์Šค ๊ด‘๊ธฐ ๋ฐ˜ํ™˜
    • ๋ณ€์น™: ์›Œ์กด ์–ด์Šค
    • ์„ ๊ณผ ์•…์„ ๋„˜์–ด์„œ
    • ๋“œ๋ž˜๊ณค ์—์ด์ง€ ์˜ค๋ฆฌ์ง„
    • ์ œ๊ตญ : ์ด ์ „์Ÿ
    • ํŒŒ์ด๋„ ํŒํƒ€์ง€ XV
    • ๊ทธ๋žœ๋“œ ํ…Œ ํ”„ํŠธ ์˜คํ†  IV
    • ์ „๋ฉธ๋œ ์ œ๊ตญ์˜ ์˜์›…๋“ค
    • ๋ฆฌ๋ฏธํŠธ ํ‚น ์˜ค๋ธŒ ํŒŒ์ดํ„ฐ์ฆˆ XIII
    • ๋ฉ”ํƒˆ ๊ธฐ์–ด ์†”๋ฆฌ๋“œ V : ์ ‘์ง€๋ฅผ ์ œ๋กœ
    • SiN ์—ํ”ผ์†Œ๋“œ: ์ถœํ˜„
    • ์†Œ๋‹‰ ์ œ๋„ˆ๋ ˆ์ด์…˜ ์ฆˆ
    • ์ŠคํŒŒ์ด๋” ๋งจ
    • ์„ ๋ฐ•
    • ์›Œํ•ด๋จธ ์˜จ๋ผ์ธ
    • ์ด์Šค์„ธ๋ธ

์ถœ์ฒ˜ : opennet.ru

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