ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Metal] MTKView > Drawing Mode (Configuring the Drawing Behavior)
    iOS/Metal 2023. 4. 5. 19:03

     

    3줄 요약.

    3가지 모드가 있음.
    아무것도 설정하지 않으면 draw 가 계속 호출되는 Timed updates 임. 주로 게임이나 주기적 업데이트가 필요한 애니메이션에 사용됨.

    필요할 때마다 draw 해주기 위해서는 enableSetNeedsDisplay = false 로 설정해서 Draw notifications 로 바꿔줘야함.
    이러면 invalidates 가 있을 때만 호출됨. 보통 setNeedsDisplay() 를 호출함. 일반적인 앱에선 이걸 사용

    자신만의 새로운 흐름을 만들기 위해서는 isPaused = true 로 설정함. 정확한 예시는 잘 모르겠음

     

    3가지 Drawing Modes

    MTKView 는 3가지 Drawing Modes 를 지원합니다.

    결정 변수

    Drawing Mode 를 결정하는 2가지 변수의 상태에 따라 Drawing Mode 가 결정됩니다.
    두 값 모두 false 가 default 값 입니다.

    - isPaused: draw loop 를 멈출지 결정합니다. (default: false)
    - enableSetNeedsDisplay: setNeedsDisplay() 호출에 반응할지 결정합니다. (default: false)

     

    3가지 모드

    Timed updates

    isPaused: false / enableSetNeedsDisplay: false

    아무것도 하지 않았을 때의 기본 동작입니다. 내부 시간에 따라 계속 redraws 합니다.
    게임이나 주기적으로 업데이트가 필요한 애니매이션이 있는 컨텐츠에 사용합니다.

    Draw notifications

    isPaused: false / enableSetNeedsDisplay: true

    컨텐츠에 invalidates 가 생겼을 때 다시 그립니다. 보통 setNeedsDisplay() 를 사용합니다.

    데이터 변화에 따라 업데이트 하는 전통적인 흐름을 가진 앱에 사용합니다.
    주기적으로 업데이트 하지 않습니다.

    Explicit drawing

    isPaused: ture / enableSetNeedsDisplay: false

    custom workflow 를 만들어서 사용하고 싶을 때 사용합니다.

     

     

    참고

    MTKView > Configuring the Drawing Behavior

    'iOS > Metal' 카테고리의 다른 글

    [MTL] MTLTexture  (0) 2024.08.20

    댓글

Designed by Tistory.