Hacker News 의견들
  • 정말 좋은 글이었음. 셰이더 처리 방식 설명이 너무 놀라웠음
    서드파티 플러그인 셰이더를 여러 백엔드에서 동작시키려면 정말 저런 과정을 거쳐야 하는지, 아니면 하위 호환성 유지 때문에 그렇게 된 건지 궁금했음
    외부 개발자에게 “모든 셰이더 언어로 각각 작성하라”고 하는 건 코어 팀 입장에서는 쉽겠지만, 현실적으로는 바람직하지 않음

    • 대부분의 게임 엔진은 이미 10년 넘게 셰이더 트랜스파일링을 해왔음
      다들 비효율적이라고 생각하지만, 현실적으로 대안이 없음
  • 기사 제목이 핵심을 숨기고 있음
    OBS Studio가 새로운 렌더러를 도입함: Metal 채택 과정” 정도로 바뀌어야 함

    • 다만 이건 Mac 전용 이야기라, Mac을 안 쓰는 사람은 Metal이 뭔지 모를 수도 있음
  • 이건 명확히 Apple이 Vulkan 대신 자사 생태계 보호용 API를 만든 대가를 보여줌
    OBS Studio는 2020년 3월, 버전 25.0에서 Vulkan 지원을 추가했음. 벌써 5년 반이 지남

    • Vulkan은 Switch를 제외한 콘솔에서는 지원되지 않음. Windows에서도 공식 지원이 아니라 GPU 벤더가 자체 드라이버 스택을 올려서 동작시키는 구조임
      임베디드 환경에서는 여전히 OpenGL ES 중심임
    • Metal은 Vulkan보다 먼저 나왔고, 어떤 사람들은 Metal이 더 사용하기 쉽다고 평가함
    • 하지만 이런 독자 생태계 전략은 Microsoft의 DirectX나 대부분의 콘솔 제조사도 해왔던 일임
  • 나는 이 주제의 전문가는 아님. 읽은 내용의 5% 정도밖에 이해 못했지만, 이런 기술적 세부 설명이 담긴 글이 더 많아졌으면 좋겠음
    단순 발표문은 마케팅처럼 느껴짐

  • 개인적으로는 다가올 VST3 지원이 더 기대되지만, 이번 소식도 반가움
    Rockchip SoC에서 하드웨어 인코딩을 세팅하는 것보다 훨씬 쉬움

  • Metal이 Direct3D의 객체지향적 접근을 한 단계 더 발전시켜, Objective-C와 Swift의 “말 많은” API 디자인을 결합했다는 설명이 흥미로웠음
    OS 수준의 3D 그래픽 API가 이렇게 동적 언어 기반으로 만들어질 수 있다는 게 놀라움
    이는 objc_msgSend() 최적화 덕분이라고 생각함

    • 최신 그래픽 API들은 OpenGL보다 훨씬 적은 호출을 사용함
      Vulkan/Metal/DirectX 12는 개별 호출 대신 명령 버퍼에 여러 명령을 담아 전달함
    • 사실 이런 접근은 오래전부터 가능했음
      2000년대 초 Direct3D를 C#으로 사용하는 책이 있었는데, GC 언어에서도 고성능 그래픽이 가능하다는 인식을 바꿨음
      핵심은 미리 할당된 버퍼를 참조하는 배치 처리 구조로 런타임 오버헤드를 최소화하는 것임
    • 관련 참고: LLVM 리뷰 D69991
    • 하지만 실제로 OS의 하위 레벨에서는 Objective-C가 거의 쓰이지 않음
      Cocoa 이후로는 대부분 제한된 C++ 서브셋(예: IOKit)으로 작성됨
    • Metal은 Obj-C API를 제공하지만, 구현 자체는 C++ 로 되어 있음
  • 나는 현대 GPU API들이 더 단순한 무언가로 가는 과도기적 단계이길 바람
    OpenGL은 사랑과 증오가 공존하지만, 새 API들을 써본 후에는 오히려 OpenGL의 단순함이 그리워졌음

  • Metal이 구형 Intel Mac에서도 성능을 개선할지, 아니면 M 시리즈 전용 최적화인지 궁금함

    • 글에 따르면 “Metal 백엔드는 Apple Silicon에서만 지원되며 GPU와 CPU가 메모리를 공유함”이라고 함
      하지만 Metal 3는 여전히 여러 Intel Mac에서도 지원되는데, 왜 제한했는지는 의문임
  • Mac Mini로 스트리밍 장비를 구성하려고 생각 중이었음
    이번 성능 향상으로 충분히 가능할지 궁금함

    • 스트리밍 콘텐츠에 따라 다름
      2D 아케이드 게임이나 개발 화면 정도면 문제없음
      최신 AAA 게임이라면 캡처 카드로 PC 화면을 받아오는 게 나음
      2017년쯤엔 macOS로 스트리밍이 힘들었지만, 지금은 M 시리즈면 충분함
    • 카메라 영상 스트리밍이라면 이미 M 시리즈 Mac Mini는 충분히 빠름
      이번 개선으로 효율성이 더 높아질 것으로 기대함
  • Apple이 Metal의 외부 성공 사례를 늘리기 위해 더 많은 리소스를 투자했으면 함
    Metal은 Apple 내부 외에는 아직 큰 성공을 못 거둠

    • 예를 들어 Blender가 그 좋은 사례임