เป็นมากกว่า Meme: Google ใช้ TheVerge.com เพื่อเปรียบเทียบอุปกรณ์ Nexus

ดูเหมือนว่า Google จะโหลดหน้าแรกของ The Verge เมื่อทำการทดสอบ Workload Automation บนอุปกรณ์ Nexus ทั้งหมด

การขุดค้นใน AOSP เป็นวิธีที่ดีในการค้นพบสิ่งใหม่ๆ เกี่ยวกับ Android และคราวนี้เราได้พบกับบางสิ่งที่ค่อนข้างตลก บางครั้ง, ผู้ใช้ได้รายงานแล้ว ว่าเว็บไซต์เทคโนโลยี TheVerge.com ให้ประสิทธิภาพที่ช้าบนอุปกรณ์มือถือ

สำหรับเครดิตของพวกเขาแล้ว ประสิทธิภาพเว็บไซต์ของพวกเขาได้รับการปรับปรุงเมื่อเวลาผ่านไปจากประสบการณ์ของฉัน นอกจากนี้ ไม่ใช่ว่าไซต์อื่นๆ (รวมถึงของเราเองด้วย) ไม่มีปัญหาที่เราสามารถพยายามแก้ไขได้ แต่กระนั้น ฉันพบว่ามันค่อนข้างน่าขบขันที่ใน ชุดมาตรฐานปริมาณงานอย่างเป็นทางการ Google ตัดสินใจใช้ The Verge ในการทดสอบ


ระบบการทำงานอัตโนมัติของ Android

เวิร์กโหลดอัตโนมัติ (WA) เป็นกรอบที่พัฒนาโดย แขน สำหรับการรวบรวมข้อมูลประสิทธิภาพบนอุปกรณ์ Android โดยการดำเนินการชุดปริมาณงานที่ทำซ้ำได้จำนวนมาก Google เปรียบเทียบประสิทธิภาพบนอุปกรณ์ของตนโดยทำการทดสอบปริมาณงานจำนวนมากและรวบรวมสรุปของ การใช้พลังงาน ซึ่งจะนำเข้าสู่สเปรดชีตเพื่อดูว่าการเพิ่มประสิทธิภาพได้ปรับปรุงประสิทธิภาพอย่างไร เวลา. บริษัทเลือกและเลือกแอปที่จะรวมไว้ในชุดการทดสอบ แต่โดยทั่วไปแล้ว แอปเหล่านั้นจะจำกัดตัวเองไว้เฉพาะแอปยอดนิยมส่วนใหญ่ของ Google เท่านั้น นั่นคือส่วนสำคัญของวิธีการทำงาน แต่เราจะแสดงหลักฐานจากซอร์สโค้ดและอธิบายการทดสอบ โดยละเอียดยิ่งขึ้น เพื่อให้คุณเห็นภาพได้ดีขึ้นว่าการทดสอบอัตโนมัติที่ Google ทำการวัดผลเป็นอย่างไร ผลงาน.

ภายใน AOSP มี ไดเรกทอรีเฉพาะ ไปจนถึงการทดสอบการทำงานอัตโนมัติของเวิร์กโหลด แอพที่ใช้สำหรับการทดสอบถูกกำหนดไว้แล้ว defs.shและโดยทั่วไปจะจัดอยู่ในหนึ่งในสองหมวดหมู่: แอป Google ที่เป็นค่าเริ่มต้น ที่ติดตั้งไว้ล่วงหน้า หรือเว็บเบราว์เซอร์ของบุคคลที่สาม แอปเบนช์มาร์กแอปหนึ่งโดดเด่นจากแอปอื่นๆ และมันก็เป็นเช่นนั้น com.BrueComputing.SunTemple/com.epicgames.ue4.GameActivity ซึ่งฉันถือว่าหมายถึง ผู้ตรวจสอบ BrueBench ST เกณฑ์มาตรฐานซึ่งอิงตาม Unreal Engine 4

# default activities. Can dynamically generate with -g.
gmailActivity='com.google.android.gm/com.google.android.gm.ConversationListActivityGmail'
clockActivity='com.google.android.deskclock/com.android.deskclock.DeskClock'
hangoutsActivity='com.google.android.talk/com.google.android.talk.SigningInActivity'
chromeActivity='com.android.chrome/_not_used'
contactsActivity='com.google.android.contacts/com.android.contacts.activities.PeopleActivity'
youtubeActivity='com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity'
cameraActivity='com.google.android.GoogleCamera/com.android.camera.CameraActivity'
playActivity='com.android.vending/com.google.android.finsky.activities.MainActivity'
feedlyActivity='com.devhd.feedly/com.devhd.feedly.Main'
photosActivity='com.google.android.apps.photos/com.google.android.apps.photos.home.HomeActivity'
mapsActivity='com.google.android.apps.maps/com.google.android.maps.MapsActivity'
calendarActivity='com.google.android.calendar/com.android.calendar.AllInOneActivity'
earthActivity='com.google.earth/com.google.earth.EarthActivity'
calculatorActivity='com.google.android.calculator/com.android.calculator2.Calculator'
calculatorLActivity='com.android.calculator2/com.android.calculator2.Calculator'
sheetsActivity='com.google.android.apps.docs.editors.sheets/com.google.android.apps.docs.app.NewMainProxyActivity'
docsActivity='com.google.android.apps.docs.editors.docs/com.google.android.apps.docs.app.NewMainProxyActivity'
operaActivity='com.opera.mini.native/com.opera.mini.android.Browser'
firefoxActivity='org.mozilla.firefox/org.mozilla.firefox.App'
suntempleActivity='com.BrueComputing.SunTemple/com.epicgames.ue4.GameActivity'
homeActivity='com.google.android.googlequicksearchbox/com.google.android.launcher.GEL'

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

dflttracecategories="gfx input view am rs power sched freq idle load memreclaim"

แอป Chrome โดยเฉพาะเปิดตัวพร้อมแฟล็กเพื่อโหลด The Verge:

สำหรับสาเหตุที่การทดสอบดูเหมือนจะแตกต่างกันสำหรับ โวแลนติส (Nexus 9) ฉันไม่แน่ใจนัก อย่างไรก็ตาม สำหรับสิ่งที่ทดสอบกิจกรรม Chrome-with-The-Verge นี้จริง ๆ แล้ว เราสามารถระบุได้โดยการดูที่ซอร์สโค้ดของการทดสอบเวิร์กโหลดอัตโนมัติ


ห้องทดสอบ

อันดับแรกมี systemapps.sh ทดสอบซึ่ง Google ระบุว่าใช้งานได้ดังนี้:

# Script to start a set of apps in order and then in each iteration
# switch the focus to each one. For each iteration, the time to start
# the app is reported as measured using atrace events and via am ThisTime.
# The output also reports if applications are restarted (eg, killed by
# LMK since previous iteration) or if there were any direct reclaim
# events.

ต่อไปก็มี ล่าสุดfling.sh ทดสอบซึ่งทำงานดังนี้:

# Script to start a set of apps, switch to recents and fling it back and forth.
# For each iteration, Total frames and janky frames are reported.

แล้วก็มี chromefling.sh, ซึ่งทดสอบประสิทธิภาพของ Chrome ค่อนข้างง่าย:

# Script to start 3 chrome tabs, fling each of them, repeat
# For each iteration, Total frames and janky frames are reported.

การทดสอบที่น่าสนุกอีกอย่างในชุด Workload Automation แม้ว่าจะไม่เกี่ยวข้องกับ The Verge ก็คือ youtube.sh การทดสอบประสิทธิภาพซึ่งวัด UI jank

#
# Script to play a john oliver youtube video N times.
# For each iteration, Total frames and janky frames are reported.
#
# Options are described below.
#
iterations=10
app=youtube
searchText="last week tonight with john oliver: online harassment"
vidMinutes=15

สุดท้ายนี้ การทดสอบแต่ละครั้งจะใช้ในการวัดการใช้พลังงานในโลกแห่งความเป็นจริงโดยการหมุนเวียนไปตามระยะเวลาที่กำหนด ตามที่กำหนดไว้ใน pwrtest.sh:

# Script to gather perf and perf/watt data for several workloads
#
# Setup:
#
# - device connected to monsoon with USB passthrough enabled
# - network enabled (baseline will be measured and subtracted
# from results) (network needed for chrome, youtube tests)
# - the device is rebooted after each test (can be inhibited
# with "-r 0")
#
# Default behavior is to run each of the known workloads for
# 30 minutes gathering both performance and power data.

จากนั้น Google ก็สามารถรวบรวมข้อมูลเหล่านี้ได้โดยใช้ pwrsummary.sh และนำเข้าลงในสเปรดชีต:

# print summary of output generated by pwrtest.sh
#
# default results directories are -[-experiment]. By default
# match any device and the year 201*.
#
# Examples:
#
# - show output for all bullhead tests in july 2015:
# ./pwrsummary.sh -r "bh-201507*"
#
# - generate CSV file for import into spreadsheet:
# ./pwrsummary.sh -o csv
#

สิ่งเหล่านี้ล้วนเป็นการทดสอบประสิทธิภาพ UI ในโลกแห่งความเป็นจริงที่ค่อนข้างธรรมดา ซึ่งไม่ต่างจากแบบที่คุณเห็น การทดสอบของเราเอง. ดูเหมือนว่าการเปลี่ยนแปลงในการโหลดหน้าแรกของ The Verge เมื่อเปิด Chrome นั้นค่อนข้างใหม่ เนื่องจากเมื่อก่อนปีที่แล้ว Google จะเปิดเฉพาะแท็บใหม่ใน Chrome ในระหว่างการทดสอบเหล่านี้ มีการเปลี่ยนแปลงเกิดขึ้น 28 พฤษภาคม 2558 อย่างไรก็ตาม ได้แนะนำการใช้ The Verge เมื่อทดสอบ Chrome น่าขบขันที่ Google ใช้ The Verge ในทุกที่เมื่อดำเนินการ Workload Automation การทดสอบ โปรดทราบว่านี่ไม่ได้หมายความว่า The Verge เป็นผู้กระทำผิดที่เลวร้ายที่สุดสำหรับเว็บ ผลงาน.

ในความเป็นจริงแล้ว หน้าเว็บอื่น ๆ จำนวนมากประสบปัญหาประสิทธิภาพปานกลางเนื่องจากมีโฆษณาเพิ่มมากขึ้นเพื่อชดเชยการเพิ่มขึ้นของตัวบล็อกโฆษณา แท้จริงแล้ว เป็นไปได้มากว่าการตัดสินใจใช้ The Verge เป็นเพียงความสะดวกอย่างหนึ่งเท่านั้น เมื่อคำนึงถึงเทคโนโลยี เข้าใจ Googler โดยเฉลี่ยและเป็นเรื่องตลกภายในในหมู่ผู้ที่ชื่นชอบหน้าเว็บของ The Verge ผลงาน.