이제 우리는 Android Q가 ANGLE용 Vulkan 백엔드를 지원하여 2D 게임 개발을 더 쉽게 만들 것이라는 것을 알고 있습니다. 이것이 무엇을 의미하는지 자세히 알아보려면 계속 읽어보세요.
불칸 API Android Nougat에서 Android 지원이 발표되었습니다. Google I/O 2016으로 돌아왔습니다.. 다시 생각해 보면 이 API는 개발자가 하위 수준 하드웨어를 더 효과적으로 제어할 수 있도록 도와줍니다. 이러한 종류의 액세스는 각 유닛의 처리 및 그래픽 성능을 더 잘 활용하고 게임을 최대한 원활하게 실행하도록 최적화하는 데 도움이 됩니다. 게임 실행과 같이 전력을 많이 소모하는 모든 종류의 작업에서 올바른 메모리 할당과 스레드 관리가 중요하다는 것은 놀라운 일이 아닙니다. 이는 Xbox One 및 PlayStation 4와 같은 인기 콘솔이 오랫동안 해왔던 방식으로 개발자에게 장치 내부 하드웨어에 대한 낮은 수준의 제어 권한을 제공합니다.
또한 흥미로운 점은 Vulkan이 플랫폼 간 그래픽 애플리케이션을 대상으로 하는 크로스 플랫폼 개방형 표준이라는 것입니다. 올해 초, 우리는 단서를 찾았어요 Android Q는 Vulkan API를 통해 사용자 인터페이스 요소를 렌더링할 수 있습니다. 이는 시스템의 원활성을 더욱 향상시키기 위한 조치가 될 것입니다. 이제 우리는 안드로이드 Q가 2D 게임 개발을 더 쉽게 만들기 위해 ANGLE을 확실히 지원할 것이라는 정보를 받았습니다.
앵글이란 무엇인가요?
ANGLE은 약어이며 "Almost Native Graphics Layer Engine"을 의미합니다. WebGL의 등장으로 인해 렌더러를 지원하는 표준화된 솔루션이 필요해졌습니다. OpenGL 드라이버는 오랫동안 Windows 플랫폼에서 그다지 안정적이지 않았습니다. 따라서 ANGLE은 OpenGL 코드를 Windows에서 기본적으로 지원되는 API인 Direct3D로 변환하여 모든 것을 완전히 새로운 수준으로 끌어 올렸습니다. ANGLE의 주요 목표는 WebGL 및 OpenGL ES 콘텐츠를 플랫폼에서 사용할 수 있는 하드웨어 지원 API로 변환하여 OpenGL을 모두가 이식 가능하고 액세스할 수 있도록 만드는 것입니다. 동일한 원칙을 사용하여 ANGLE은 OpenGL 코드를 Android의 Vulkan 코드로 변환합니다. 전자는 운영 체제에서 공식적으로 지원되는 하드웨어 API이기 때문입니다. 아마도 당신은 깨닫지도 못한 채 매일 ANGLE을 사용할 것입니다. ANGLE은 데스크톱용 Google Chrome 및 Mozilla Firefox 웹 브라우저에 내장되어 있습니다. Windows에서 이러한 브라우저 내부의 그래픽 콘텐츠를 렌더링하는 데 사용됩니다.
OpenGL ES 대 Vulkan
Khronos Group은 ANGLE을 Vulkan에서 OpenGL의 주요 렌더러로 만들기 위해 열심히 노력하고 있습니다. 많은 사람들이 Vulkan을 위해 OpenGL을 제거해야 할 필요성을 느끼지 못할 수도 있지만 분명히 개선의 여지가 있습니다. 현 시점에서 OpenGL API는 구식 기술로 간주됩니다. 1992년에 처음 출시됐으니 26년 전이다. 26년은 여러분 중 일부에게는 큰 의미가 아닐 수도 있지만 기술 개발에 있어서는 천문학적인 숫자입니다. 2016년에는 차세대 그래픽 API인 Vulkan이 세상에 소개되었습니다. 하지만 최신이라고 해서 자동으로 더 좋아지는 것은 아닙니다. 그렇죠? Vulkan이 OpenGL/OpenGL ES보다 훨씬 나은 이유를 설명하겠습니다.
OpenGL ES를 다뤄본 적이 있다면 이것이 무엇인지 알 것입니다. 거대한. API에는 300개 이상의 확장 기능이 있으며 전혀 사용하기 쉽지 않습니다. Vulkan은 훨씬 더 작은 API와 그래픽을 직접 제어할 수 있는 기능을 제공하여 모든 것을 완전히 새로운 수준으로 끌어올렸습니다. 구현하기도 더 쉽습니다. Vulkan은 OpenGL ES보다 낮은 수준에서 작동하지만 이는 더 많은 제어 능력을 의미합니다. Vulkan을 사용하면 스레드 및 메모리 관리가 전적으로 게임 개발자에게 맡겨지므로 리소스를 적절하게 사용할 수 있습니다. 또한 Vulkan의 모바일 버전과 데스크톱 버전 간에는 차이가 거의 없으므로 게임 포팅이 훨씬 쉬워집니다. 간단히 말해서, Vulkan은 특정 장치에 있는 그래픽 카드의 잠재력을 최대한 활용할 수 있게 해주는 저수준 드라이버입니다.
왜 앵글인가?
ANGLE의 첫 번째 장점은 개방형 표준 플랫폼이라는 점입니다. 프로젝트에 기여할 수 있는 방법은 많습니다. 장치에서 드라이버를 테스트하고, 버그를 보고하고, 버그를 수정하고, 개발자가 솔루션을 찾도록 돕고, 제안을 보내고, 개발에 돈을 기부하는 등의 작업을 할 수 있습니다. 이 모든 것이 개발 속도를 높일 것입니다. OpenGL ES와 비교할 때 다음으로 큰 장점은 이식성과 크로스 플랫폼 지원입니다. ANGLE의 특성으로 인해 플랫폼 개발자와 게임 개발자 모두 작업이 더 쉬워졌습니다. ANGLE을 유지하고 구현하는 것은 이전 구현보다 훨씬 쉽습니다. OpenGL은 너무 단편화되어 있어 버그를 추적하고 다른 장치에서 수정하는 것이 개발자에게 힘든 일입니다. 필요한 모든 드라이버를 ANGLE에 중앙 집중화한다는 것은 개발자가 드라이버를 더 쉽게 구현할 수 있다는 것을 의미합니다. ANGLE 개발자인 Jamie Madill은 Android 플랫폼에서 ANGLE이 Google Play 스토어를 통해 정기적인 업데이트를 받을 것이라고 확인했습니다. 내장된 자사 마켓플레이스를 통해 드라이버를 업데이트하는 것은 드라이버가 업데이트될 때마다 사용자가 전체 시스템을 업데이트할 필요가 없기 때문에 좋은 생각입니다. 또한 개발자는 ANGLE이 무언가를 변경할 때마다 코드를 수정하지 않아도 됩니다. 다음은 ANGLE이 Android 게임 개발에 어떤 이점을 줄 수 있는지에 대한 동영상입니다.
보시다시피 ANGLE은 이전 OpenGL ES에 비해 많은 개선이 이루어졌습니다. Android Q의 첫 번째 개발자 프리뷰 릴리스는 그리 멀지 않으므로 ANGLE이 실제로 어떻게 작동하는지 기다려 볼 수 있습니다. 에 따르면 이 커밋, 사용자는 개발자 옵션에서 모든 애플리케이션이 ANGLE과 작동하도록 강제할 수 있습니다. 렌더러에 대한 지원은 다음과 같습니다. 이미 병합됨 OEM이 테스트할 수 있도록 Android Pie 분기에 추가하세요. 아래 웹사이트와 GitHub 저장소에서 ANGLE의 개발 과정을 추적할 수 있습니다.
XDA 선임 회원에게 감사드립니다. XxPixX 팁을 위해!
앵글 웹사이트GitHub 저장소