변해버린 땅

712025년 09월 07일5

WebGPU는 이제 웹 플랫폼의 단단한 암반처럼 느껴졌다. 그 위에서 새로운 애플리케이션들이 싹을 틔우고 숲을 이루는 것을 지켜보는 것은 드미트리의 큰 기쁨이었다. 그는 이제 미래의 기능들을 설계하며, 이 암반을 더욱 비옥하게 만드는 데 집중하고 있었다.

그 단단하다고 믿었던 땅이, 그의 발밑에서 미세하게 흔들리고 있음을 깨닫게 된 것은 한 장의 성능 분석 보고서 때문이었다.

보고서는 크롬의 자동화된 성능 테스트 시스템, ‘텔레메트리(Telemetry)’에서 온 것이었다. 매일 수천 개의 웹사이트와 벤치마크를 다양한 기기에서 실행하며 성능 변화를 추적하는 시스템.
보고서의 내용은 기묘했다.

“최신 ARM 기반 노트북 모델에서, 복잡한 렌더링 벤치마크의 성능이 이전 세대 x86 노트북보다 오히려 5% 가량 하락하는 현상이 지속적으로 관측됨.”

드미트리는 눈살을 찌푸렸다.
“ARM 기반 노트북? 애플 실리콘 같은 고효율 칩을 말하는 건가?”
이론적으로는 최신 칩에서 성능이 더 좋아야 정상이었다. 5%의 하락은 단순한 측정 오차로 치부하기엔 너무나 일관되게 나타나고 있었다.

“드라이버 버그일 가능성이 높습니다. ARM용 그래픽 드라이버는 아직 안정화 과정에 있을 테니까요.”
벤이 대수롭지 않게 말했다.

팀의 의견도 대부분 비슷했다. 하지만 드미트리의 마음속에는 작은 불안의 씨앗이 싹텄다. 그는 팀에서 가장 젊고 예리한 엔지니어 중 한 명인 레나에게 이 문제를 좀 더 깊이 파고들어 보라고 지시했다.

레나는 며칠 동안 해당 ARM 노트북에 온갖 디버거를 붙이고, Dawn의 내부 동작을 원자 단위까지 분해하며 분석에 매달렸다.

며칠 후, 그녀는 팀 회의에서 놀라운 분석 결과를 발표했다.
“여러분, 이건 드라이버 버그가 아닙니다. 이건… Dawn의 아키텍처와 하드웨어의 근본적인 ‘궁합’ 문제입니다.”

그녀는 화이트보드에 두 종류의 GPU 아키텍처를 그렸다.

“하나는 전통적인 데스크톱 GPU가 사용하는 ‘즉시 모드 렌더러(Immediate Mode Renderer)’입니다. CPU가 그리기 명령을 보내는 즉시, GPU는 그 결과를 전체 화면 메모리에 직접 씁니다. 우리가 지금까지 당연하게 생각해 온 방식이죠.”

“하지만 이 ARM 칩에 들어간 GPU는 다릅니다. 대부분의 모바일 GPU처럼, 이것은 ‘타일 기반 렌더러(Tile-Based Renderer)’입니다.”

그녀는 설명을 이어갔다.
“이 GPU는 화면을 작은 타일(Tile)들로 나눕니다. 그리고 각 타일에 그려져야 할 모든 객체의 정보를, 비싸고 느린 메인 메모리가 아니라, 칩 안에 있는 아주 작고 빠른 온-칩(On-chip) 메모리에 먼저 전부 저장합니다. 모든 정보가 모이면, 그때서야 비로소 타일 안에서 최종 색상을 계산하고, 그 결과만을 메인 메모리에 딱 한 번만 씁니다. 전력 효율을 극대화하기 위한 설계죠.”

드미트리는 그녀의 설명에서 문제의 핵심을 직감했다.

레나가 목소리를 높였다.
“바로 이겁니다. 우리 Dawn은, 그리고 WebGPU API 자체도, 사실상 즉시 모드 렌더러를 가정하고 설계되었습니다. 우리는 queue.submit()을 통해 명령을 보내면, 그 즉시 무언가 그려질 거라고 기대합니다. 하지만 타일 기반 렌더러는 그렇게 동작하지 않습니다. 우리의 API 호출 방식은, 이 똑똑한 GPU가 온-칩 메모리를 효율적으로 사용하지 못하게 계속해서 방해하고 있는 겁니다. 렌더 패스(Render Pass)가 너무 자주 끊기고, 온-칩 메모리의 내용이 불필요하게 메인 메모리로 내려갔다가 다시 올라오는 현상이 반복되고 있습니다.”

연구실에는 침묵이 흘렀다.
그들은 지난 몇 년간 API의 일관성과 플랫폼 독립성이라는 하늘만 바라보고 있었다. 하지만 그들이 딛고 서 있는 하드웨어라는 땅 자체가, 그들 모르게 변하고 있었던 것이다. 모바일에서 시작된 타일 기반 아키텍처의 영향력이, 이제는 데스크톱과 노트북의 영역까지 침투하고 있었다.

벤이 망연자실한 목소리로 말했다.
“그렇다면… 우리는 이 모든 기기들을 위해 Dawn의 렌더 패스 관리 로직을 전부 새로 짜야 한다는 말인가?”

그때, 레나가 단호한 표정으로 말했다.
“단순히 수정하는 것만으로는 부족할지도 모릅니다.”

그녀는 드미트리를 똑바로 바라보았다. 그녀의 눈에는 존경심과 함께, 당돌한 도전의 빛이 서려 있었다.
“어쩌면 우리는, 이 새로운 아키텍처의 시대를 위해, Dawn의 철학 자체를 원점에서부터 다시 생각해야 할지도 모릅니다. 타일 기반 렌더링에 완벽하게 최적화된, 완전히 새로운 개념의 백엔드를 말입니다.”

그녀의 말은 조용한 폭탄과도 같았다.
드미트리는 그녀의 눈에서, 10여 년 전 WebGL의 한계 앞에서 새로운 API를 부르짖던 자신의 모습을 보았다.

그는 깨달았다.
자신이 이룩한 위대한 성공이, 이제는 다음 세대가 뛰어넘어야 할 ‘과거의 유산’이 되어가고 있음을. 자신이 개척한 땅의 지질이 변하고 있으며, 이제는 새로운 시대에 맞는 새로운 건축술이 필요하다는 것을.

그의 여정은 끝난 것이 아니었다. 그는 이제, 자신을 뛰어넘으려는 새로운 세대의 도전을 이끌고, 그들이 자신보다 더 높은 곳에 도달할 수 있도록 어깨를 내어주어야 하는, 또 다른 시험대 위에 서 있었다.