[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-04-06。"],[],[],null,["# Implementation testing\n\nReview the following information to test graphics implementations.\n\nFor benchmarking, use the following flow by phase:\n\n- *Specification.* When initially specifying the device (such as when using immature drivers), use predefined (fixed) clocks and workloads to measure frames per second (fps) rendered. This gives a clear view of hardware capabilities.\n- *Development.* As drivers mature, use a fixed set of user actions to measure the number of visible stutters (janks) in animations.\n- *Production.* When a device is ready for comparison against competitors, increase the workload until stutters increase. Determine if the current clock settings can keep up with the load. This can help you identify where to slow the clocks and reduce power use.\n\nFor help deriving device capabilities during the specification phase, use the\nFlatland tool at `platform/frameworks/native/cmds/flatland/`.\nFlatland relies on fixed clocks and shows the throughput achievable with\ncomposition-based workloads. It uses gralloc buffers to simulate multiple window\nscenarios, filling in the window with GL then measuring the compositing.\n| **Note:** Flatland uses the synchronization framework to measure time, so your implementation must support the synchronization framework."]]