ใครสามารถอธิบายตัวเลือกผู้พัฒนาเหล่านี้ทั้งหมดได้บ้าง


15

ใครสามารถอธิบายตัวเลือกผู้พัฒนาเหล่านี้ได้บ้าง

  • บังคับให้แสดงผล GPU
  • ปิดการใช้งาน ops แบบคลิปที่ไม่ใช่รูปสี่เหลี่ยมผืนผ้า
  • แรง 4X MSAA
  • ปิดใช้งานการซ้อนทับ HW

เอฟเฟกต์ที่เป็นไปได้ที่สามารถเห็นได้ในอุปกรณ์ของฉันคือการปิด / เปิดใช้งาน [ หมายเหตุ: ฉันพบตัวเลือกอื่น ๆ โดย Google-ing แต่ไม่ใช่ตัวเลือกเหล่านี้ ]

การตั้งค่านักพัฒนาซอฟต์แวร์ส่งผลต่ออายุการใช้งานแบตเตอรี่โดยใช้ความเร็วภาพเคลื่อนไหวต่ำ (ทั้งหมดถึง 2 เท่าแม่นยำ)หรือความเร็วภาพเคลื่อนไหวที่สูงขึ้น (0.5x แม่นยำ)ที่ค่าใช้จ่ายจากประสบการณ์การใช้งานของผู้ใช้หรือไม่?

คำตอบ:


18

โปรดทราบว่าสิ่งเหล่านี้เป็นตัวเลือกสำหรับนักพัฒนาและอาจไม่มีประโยชน์หรือมีผลกระทบด้านลบต่อประสิทธิภาพของอุปกรณ์ของคุณ

บังคับให้แสดงผล GPU

GPU เป็นหน่วยประมวลผลกราฟิก มันเหมือนกับซีพียูมาก แต่แทนที่จะเป็นตัวเลขที่กระทืบและดูแลงานสำหรับระบบปฏิบัติการและฮาร์ดแวร์ GPU จะแสดงข้อมูลกราฟิกและวางไว้บนหน้าจอสำหรับคุณ

CPU สามารถประมวลผลคำแนะนำกราฟิกได้ดี แต่การทำเช่นนั้นใช้เวลาในการคำนวณอื่น ๆ และสามารถนำไปสู่ความล่าช้าในขณะที่ประมวลผลคำแนะนำกราฟิก

ใน Ice Cream Sandwich เป็นต้นไปนักพัฒนา (หรือผู้ใช้ระดับสูง) จะได้รับตัวเลือกเพื่อบังคับให้แอปใช้การเรนเดอร์ GPU ไม่ว่าบิตนั้นจะเปิดหรือปิดบิตในรายการของแอป สิ่งนี้ไม่ได้ทำให้แอปเร็วขึ้นและอาจทำให้เกิดปัญหา


ปิดการใช้งาน ops แบบคลิปที่ไม่ใช่รูปสี่เหลี่ยมผืนผ้า

นี่เป็นเทคนิคเกินไปสำหรับฉันที่จะอธิบายในรายละเอียดที่ดี โดยทั่วไป "ผ้าใบ" จะใช้สำหรับการวาดภาพ ซอร์สโค้ดสำหรับ 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

บังคับ 4x MSAA ไม่จำเป็นต้องใช้อุปกรณ์ที่รูท ตัวเลือกนี้ทำหน้าที่เหมือนกับตัวกรอง Anti Aliasing ในเกมพีซี - ทำให้การปรับพิกเซลเป็นไปอย่างราบรื่นและให้การเรนเดอร์ที่ดีขึ้นซึ่งหมายถึงกราฟิกที่ดูดีขึ้น ผู้ใช้ควรรู้ว่าฟังก์ชั่นนี้แนะนำสำหรับอุปกรณ์ที่มี GPU ที่รองรับ MSAA ดั้งเดิมเท่านั้น

จากวิกิพีเดีย :

ในการประมวลผลสัญญาณและระเบียบวินัยที่เกี่ยวข้องการกำหนดนามแฝงเป็นเอฟเฟกต์ที่ทำให้สัญญาณต่าง ๆ กลายเป็นไม่สามารถแยกแยะความแตกต่างได้ (หรือนามแฝงของกันและกัน) เมื่อสุ่มตัวอย่าง นอกจากนี้ยังหมายถึงการบิดเบือนหรือสิ่งประดิษฐ์ที่เป็นผลเมื่อสัญญาณที่สร้างขึ้นใหม่จากตัวอย่างแตกต่างจากสัญญาณต่อเนื่องดั้งเดิม


ปิดใช้งานการซ้อนทับ HW

หากไม่มีการซ้อนทับของฮาร์ดแวร์ทุกแอปพลิเคชั่นที่แสดงสิ่งต่าง ๆ บนหน้าจอจะแชร์หน่วยความจำวิดีโอและจะต้องตรวจสอบการชนกันของภาพและการตัดเพื่อแสดงภาพที่เหมาะสมอยู่ตลอดเวลา ด้วยการซ้อนทับของฮาร์ดแวร์แต่ละแอพพลิเคชั่นจะได้รับส่วนของหน่วยความจำวิดีโอของตัวเองโดยไม่จำเป็นต้องตรวจสอบการชนกันและการตัด

ดังที่ @DanHulme กล่าวไว้: Windows ใน Android มักจะถูกนำมาใช้แทนการแสดงผลลงในหน่วยความจำวิดีโอที่แชร์ โดยปกติSurfaceFlingerจะใช้ GPU เป็นองค์ประกอบ แต่จะใช้การซ้อนทับฮาร์ดแวร์เมื่อเป็นไปได้ซึ่งเร็วกว่าและใช้แบตเตอรี่น้อยลง การปิดใช้งานการซ้อนทับหมายความว่ามันจะใช้การเรนเดอร์ GPU เสมอ มันมีประโยชน์สำหรับการดีบักการรวมระบบหรือถอดรหัสวิดีโอ HW: แม้แต่นักพัฒนาแอปไม่จำเป็นต้องเปิดตัวเลือกนี้


2
4xMSAA อาจไม่ช้าลงจริง ๆ สำหรับ GPU บางตัวเช่น Mali-400 ความแตกต่างของความเร็วระหว่าง 4xMSAA และไม่มีการลบรอยหยักนั้นเล็กน้อยเนื่องจากวิธีการแยกส่วนของชิ้นส่วน นอกจากนี้ยังมีมูลค่าการกล่าวถึงว่าสิ่งนี้มีผลกระทบต่อแอปพลิเคชัน GLES เท่านั้นและจะไม่ทำให้ข้อความและไอคอนในแอปทั่วไปคมชัดขึ้น
Dan Hulme

3
ฉันไม่คิดว่าคำอธิบายการซ้อนทับ HW ของคุณถูกต้อง Windows ใน Android ได้รับการคอมโพสิตแทนที่จะแสดงผลเป็นหน่วยความจำวิดีโอที่แชร์ โดยปกติSurfaceFlingerจะใช้ GPU เป็นองค์ประกอบ แต่จะใช้การซ้อนทับฮาร์ดแวร์เมื่อเป็นไปได้ซึ่งเร็วกว่าและใช้แบตเตอรี่น้อยลง การปิดใช้งานการซ้อนทับหมายความว่ามันจะใช้การเรนเดอร์ GPU เสมอ มันมีประโยชน์สำหรับการดีบักการรวมระบบหรือถอดรหัสวิดีโอ HW: แม้แต่นักพัฒนาแอปไม่จำเป็นต้องเปิดตัวเลือกนี้
Dan Hulme

ฉันไม่อยู่ที่พีซีฉันจะแก้ไขโดยเร็วที่สุด หรือ
อย่า

ดีกับการประมวลผลการปรับปรุงการใช้ GPU ทำให้ SE แอปไม่ผิดพลาดกับคำถามนี้ :-)
แคนาดาลุค

1
@ ฉันไม่คิดว่ามันจะมีผลกระทบอย่างมากต่อแบตเตอรี่เพียงการประหยัดแบตเตอรี่บางอย่างเช่นใน Windows ที่เราปิดการใช้งานกราฟิกโปร่งใส (ธีม Ie Aero แนะนำให้ปิดการใช้งานสำหรับการปรับปรุงเวลาแบตเตอรี่)
user285oo6
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.