답변:
이러한 옵션 은 개발자 옵션이므로 사용하지 않거나 장치 성능에 부정적인 영향을 줄 수 있습니다.
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 도의 배수가 아닌 직사각형 클립 영역이 있다면 도넛 모양의 클립 영역과 같은 느린 경로로 내려갑니다. ( "느린 경로"는 스텐실 버퍼를 사용하며 아마도 느릴 필요는 없습니다. 미래 최적화를위한 좋은 영역입니다.)
Force 4x MSAA에는 루팅 된 장치가 필요하지 않습니다. 이 옵션은 PC 게임의 앤티 앨리어싱 필터와 동일하게 작동하여 모든 픽셀 화를 부드럽게하고 더 나은 렌더링을 제공하므로 그래픽이 더 좋아집니다. 이 기능은 기본 MSAA 지원 GPU가있는 장치에만 권장됩니다.
에서 위키 백과 :
신호 처리 및 관련 분야에서 앨리어싱 은 샘플링 할 때 서로 다른 신호를 구별 할 수 없게 만드는 효과입니다. 또한 샘플에서 재구성 된 신호가 원래 연속 신호와 다를 때 발생하는 왜곡 또는 아티팩트를 나타냅니다.
하드웨어 오버레이가 없으면 화면에 물건을 표시하는 모든 응용 프로그램이 비디오 메모리를 공유하고 적절한 이미지를 렌더링하기 위해 충돌과 클리핑을 지속적으로 확인해야하므로 처리 비용이 많이들 수 있습니다. 하드웨어 오버레이를 사용하면 각 응용 프로그램이 자체 비디오 메모리 부분을 가져와 충돌 및 클리핑을 확인할 필요가 없습니다.
@DanHulme이 말했듯이 Android의 Windows는 항상 공유 비디오 메모리로 렌더링되지 않고 합성됩니다. 일반적으로 SurfaceFlinger
컴포지션에는 GPU를 사용하지만 가능한 경우 하드웨어 오버레이를 사용하므로 속도가 빠르고 배터리를 덜 사용합니다. 오버레이를 비활성화하면 항상 GPU 렌더링을 사용합니다. 시스템 통합 또는 HW 비디오 디코딩 디버깅에만 유용합니다. 앱 개발자도이 옵션을 켤 필요가 없습니다.
SurfaceFlinger
컴포지션에는 GPU를 사용하지만 가능한 경우 하드웨어 오버레이를 사용하므로 속도가 빠르고 배터리를 덜 사용합니다. 오버레이를 비활성화하면 항상 GPU 렌더링을 사용합니다. 시스템 통합 또는 HW 비디오 디코딩 디버깅에만 유용합니다. 앱 개발자도이 옵션을 켤 필요가 없습니다.