개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (287)
    • Web Front End (76)
      • Javascript & Typescript (26)
      • React (12)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (8)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • JavaScript
  • 노개북
  • 오늘의회고
  • 노마드북클럽
  • 프론트엔드
  • 개발자
  • 회고
  • 자바스크립트
  • 릿코드
  • TypeScript

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이
Web Front End/CSS

[CSS] VSync와 브라우저

Web Front End/CSS

[CSS] VSync와 브라우저

2020. 2. 14. 12:28
반응형

VSync란?

  • Vertical sync (수직 동기화)

  • GPU, 비디오 게임 및 모니터를 위한 최초의 동기화 기술

  • 게임의 프레임 속도와 게임 모니터의 재생 빈도를 동기화하는 그래픽 기술

    ⇒ 게임 FPS는 모니터가 따라잡을 수 없는 속도로 정보를 전달했음

    ⇒ 서로 다른 화면이 충돌해 화면이 어긋나게 보여짐(Screen Tearing)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3e34c64b-af04-46c8-a993-4fa4b3a95ecf/Untitled.png

⇒ VSync 도입으로 FPS에 제한을 두어 동기화되게 하고, 부드러운 게임 화면을 볼 수 있게 됨

  • 해상도, 색상, 밝기를 향상시킬 수는 없음

Frame Timing이란?

  • 프레임을 실행/랜더링하는 데 걸리는 시간
  • 랜더링되는 여러 프레임 간 타이밍이 얼마나 일관성 있는지도 보여줌
  • 서로 다른 Frame Rates
    • 프레임 속도가 낮을수록 프레임을 렌더링하는 데 시간이 오래 걸림
    • 프레임 속도가 높을수록 프레임을 렌더링하는 데 시간이 짧음
  • 매끄러운 애니메이션을 보이기 위해서는

    ⇒ 프레임 드랍이 없어야 함

    ⇒ 애니메이션 구성의 기준이 되는 각 프레임의 시간차가 작고 일정해야 함

⇒ Frame Timing Control : 프레임 생성을 위한 시간 제어

브라우저의 Frame Timing 구성

  1. 타이머 사용
    • 16.6ms 주기의 타이머 사용
    • 단점: 프레임 드랍 발생
  2. VSync 정보로 Refresh 주기 설정
    • VSync 정보: frame time, frame interval
  3. VSync 활용 - Callback 방식(Android/iOS/OSX)
    • Callback 호출 시 interval 예측해 정확한 프레임 타임 계산
  4. VSync 활용 - Querying 방식(Windows/Linux)
    • 프레임마다 VSync 정보를 갱신하여 정확한 주기의 타이머 설정

툴킷들의 프레임 타이밍

Web Application Scheduling

draw callback

window.requestAnimationFrame

idle callback

window.requestIdelCallback

⇒ 정확한 프레임 타이밍이 기반이 되어야 동작성을 보장할 수 있음

Refference

  • https://www.digitaltrends.com/computing/what-is-vsync/
  • https://www.testufo.com/browser.html
  • https://www.slideshare.net/deview/133-vsync
  • https://paulbakaus.com/tutorials/performance/the-illusion-of-motion/
반응형
저작자표시 (새창열림)
  • draw callback
  • idle callback
  • ⇒ 정확한 프레임 타이밍이 기반이 되어야 동작성을 보장할 수 있음
  • Refference
'Web Front End/CSS' 카테고리의 다른 글
  • [CSS] transition
  • [CSS] transform
  • [CSS] requestAnimationFrame
  • [CSS] flexbox
개발후라이
개발후라이
어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.