누구나 이러한 개발자 옵션을 모두 설명 할 수 있습니까?


15

누구나 이러한 개발자 옵션을 설명 할 수 있습니까?

  • GPU 렌더링 강제
  • 직사각형이 아닌 클립 조작 비활성화
  • 포스 4X MSAA
  • HW 오버레이 비활성화

장치를 비활성화 / 활성화하여 장치에서 볼 수있는 가능한 효과는 무엇입니까? [ 참고 : Google-ing에서 다른 옵션을 찾았지만 이러한 옵션은 찾지 못했습니다. ]

개발자 설정 이 사용자 경험을 희생하면서 낮은 애니메이션 속도 (정확히 2 배) 또는 더 높은 애니메이션 속도 (정확히 0.5x )를 사용하여 배터리 수명에 영향을 줍 니까?

답변:


18

이러한 옵션 은 개발자 옵션이므로 사용하지 않거나 장치 성능에 부정적인 영향을 줄 수 있습니다.

GPU 렌더링 강제

GPU는 그래픽 처리 장치입니다. CPU와 매우 유사하지만 숫자를 처리하고 운영 체제 및 하드웨어의 작업을 처리하는 대신 GPU는 그래픽 정보를 렌더링하여 화면에 표시합니다.

CPU는 그래픽 명령을 잘 처리 할 수 ​​있지만 그렇게하면 다른 계산을 수행하는 데 시간이 걸리고 그래픽 명령이 처리되는 동안 지연이 발생할 수 있습니다.

Ice Cream Sandwich 이후에는 개발자 (또는 고급 사용자)에게 앱의 매니페스트에서 비트가 켜져 있는지 여부에 관계없이 앱이 GPU 렌더링을 사용하도록 할 수있는 옵션이 제공됩니다. 이로 인해 앱이 더 빨라지는 것은 아니며 문제가 발생할 수 있습니다.


직사각형이 아닌 클립 조작 비활성화

이것은 내가 너무 자세하게 설명하기에는 너무 기술적입니다. 기본적으로 "캔버스"가 그리기에 사용됩니다. Android의 소스 코드에는 다음이 포함됩니다.

/**
     * Turn on to **debug non-rectangular clip operations**.
     *
     * Possible values:
     * "hide", to disable this debug mode
     * "highlight", highlight drawing commands tested against a non-rectangular clip
     * "stencil", renders the clip region on screen when set
     *
     * @hide
     */
    public static final String DEBUG_SHOW_NON_RECTANGULAR_CLIP_PROPERTY =
            "debug.hwui.show_non_rect_clip";

직사각형이 아닌 특이한 캔버스 영역을 만들기 위해이 기능을 끌 수 있습니다. 이에 대한 자세한 내용은 여기를 참조하십시오

@ IanNi-Lewis에 따르면 그의 의견은 다음과 같습니다.

"직사각형이 아닌 클립 영역"은 약간 오해의 소지가 있습니다. "화면 정렬 된 사각형이 아닌 클립 영역"이어야합니다. 90 도의 배수가 아닌 직사각형 클립 영역이 있다면 도넛 모양의 클립 영역과 같은 느린 경로로 내려갑니다. ( "느린 경로"는 스텐실 버퍼를 사용하며 아마도 느릴 필요는 없습니다. 미래 최적화를위한 좋은 영역입니다.)


포스 4X MSAA

Force 4x MSAA에는 루팅 된 장치가 필요하지 않습니다. 이 옵션은 PC 게임의 앤티 앨리어싱 필터와 동일하게 작동하여 모든 픽셀 화를 부드럽게하고 더 나은 렌더링을 제공하므로 그래픽이 더 좋아집니다. 이 기능은 기본 MSAA 지원 GPU가있는 장치에만 권장됩니다.

에서 위키 백과 :

신호 처리 및 관련 분야에서 앨리어싱 은 샘플링 할 때 서로 다른 신호를 구별 할 수 없게 만드는 효과입니다. 또한 샘플에서 재구성 된 신호가 원래 연속 신호와 다를 때 발생하는 왜곡 또는 아티팩트를 나타냅니다.


HW 오버레이 비활성화

하드웨어 오버레이가 없으면 화면에 물건을 표시하는 모든 응용 프로그램이 비디오 메모리를 공유하고 적절한 이미지를 렌더링하기 위해 충돌과 클리핑을 지속적으로 확인해야하므로 처리 비용이 많이들 수 있습니다. 하드웨어 오버레이를 사용하면 각 응용 프로그램이 자체 비디오 메모리 부분을 가져와 충돌 및 클리핑을 확인할 필요가 없습니다.

@DanHulme이 말했듯이 Android의 Windows는 항상 공유 비디오 메모리로 렌더링되지 않고 합성됩니다. 일반적으로 SurfaceFlinger컴포지션에는 GPU를 사용하지만 가능한 경우 하드웨어 오버레이를 사용하므로 속도가 빠르고 배터리를 덜 사용합니다. 오버레이를 비활성화하면 항상 GPU 렌더링을 사용합니다. 시스템 통합 또는 HW 비디오 디코딩 디버깅에만 유용합니다. 앱 개발자도이 옵션을 켤 필요가 없습니다.


2
4xMSAA는 실제로 느리지 않을 수 있습니다. Mali-400과 같은 특정 GPU에서는 조각 셰이더가 실행되는 방식으로 인해 4xMSAA와 앤티 앨리어싱이없는 속도 차이는 무시할 수 있습니다. 또한 이것은 GLES 애플리케이션에만 영향을 미치며 일반 앱에서는 텍스트와 아이콘을 더 선명하게 만들지 않습니다.
Dan Hulme

3
HW 오버레이에 대한 설명이 정확하지 않다고 생각합니다. Android의 Windows는 항상 공유 비디오 메모리로 렌더링되지 않고 합성됩니다. 일반적으로 SurfaceFlinger컴포지션에는 GPU를 사용하지만 가능한 경우 하드웨어 오버레이를 사용하므로 속도가 빠르고 배터리를 덜 사용합니다. 오버레이를 비활성화하면 항상 GPU 렌더링을 사용합니다. 시스템 통합 또는 HW 비디오 디코딩 디버깅에만 유용합니다. 앱 개발자도이 옵션을 켤 필요가 없습니다.
Dan Hulme

나는 내 PC에서 떨어져 있고 가능한 한 빨리 편집 할 것입니다. 또는 자유롭게 편집하십시오
RossC

잘 GPU 처리를 사용하도록 업데이트하면이 질문에 se 앱이 충돌하지 않습니다 :-)
Canadian Luke

1
나는 그것이 배터리에 큰 영향을 생각하지 않는다 @Ross 우리는 투명 그래픽을 비활성화 것을 특징으로 Windows에서 같은 절약 그냥 배터리 (즉 에어로 테마는 배터리 시간을 향상 해제에 좋습니다)
user285oo6을
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.