Mali-G610 對比 Mali-G610 MC6
在 Mali-G610 上 (GameForce Ace, Infinix GT 20 Pro, Infinix NOTE Edge, Nothing Phone (2a) Plus, realme 真我 GT NEO 3 150W, Vivo V27, Xiaomi 13T). 先列出的驅動程式與後一個對比,後一個是基準。
原廠Mali-G610 MC6
對比自訂Mali-G610
圖形系統版本(Vulkan)1.1.177 → 1.3.231
可選功能(擴充功能)71 → 104+34 -1
通過檢測的功能(已驗證)31 → 354 個僅在 Mali-G610 上通過 0 個僅在 Mali-G610 MC6 上通過
跑分測試場景(基準測試)0 個更快 5 個更慢總體慢 10%(幾何平均)
各驅動程式能跑的遊戲(根據功能列表估算):綠色大致能跑,黃色未必能跑,橙色問題較多,紅色跑不動
原廠DX92002+DX102006+DX112009+DX122015+Switch
自訂DX92002+DX102006+DX112009+DX122015+Switch
- compute_nbody慢 2%
- hdr_2160p慢 19%
- oit_linked_lists慢 11%
- pipeline_barriers慢 12%
- subpasses慢 6%
1 個場景的畫面有局部區域與原廠驅動程式不同 (pipeline_barriers:2304 個格子中有 1657 個). 整體畫面是一致的,所以這是局部渲染故障,而不是畫了另一個場景。
結果不同的功能檢測(8)
| 功能 | 原廠 | Mali-G610 | 變化 |
|---|---|---|---|
| borderColorSwizzle | 不支援 | 通過 | 新增 |
| extendedDynamicState | 不支援 | 通過 | 新增 |
| extendedDynamicState2 | 不支援 | 通過 | 新增 |
| shaderBufferInt64Atomics | 不支援 | 通過 | 新增 |
| borderColorSwizzleFromImage | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState2PatchControlPoints | 不支援 | 未檢測 | 有變化 |
| shaderSharedInt64Atomics | 不支援 | 未檢測 | 有變化 |
| shaderInt64 | 不支援 | 未檢測 | 有變化 |
跑分測試場景(基準測試)
兩個驅動程式不是在同一批裝置型號上測的。不同裝置的幀時間不能用來比較驅動程式,看這些資料時請記住這一點。
| 場景 | 原廠 ms | Mali-G610 ms | 差異 | 啟動次數 | GPU 頻率,MHz | 畫面對比原廠 |
|---|---|---|---|---|---|---|
| compute_nbody | 17.69 | 18.06 | 慢 2% | 3 / 3 對比 3 / 3 | ? 對比 917 | 沒有明顯差異 沒有細微差異 |
| hdr_2160p | 27.32 | 33.54 | 慢 19% | 3 / 3 對比 ? | ? 對比 ? | 未檢測 |
| oit_linked_lists | 21.38 | 23.96 | 慢 11% | 3 / 3 對比 3 / 3 | ? 對比 1000 | 沒有明顯差異 沒有細微差異 |
| pipeline_barriers | 8.42 | 9.52 | 慢 12% | 3 / 3 對比 3 / 3 | ? 對比 1000 | 沒有明顯差異 有 1657 處小區域不同 |
| subpasses | 16.43 | 17.49 | 慢 6% | 3 / 3 對比 3 / 3 | ? 對比 883 | 未檢測 |
技術差異(Vulkan)
僅 Mali-G610 有的擴充功能(34)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_border_color_swizzle
- VK_EXT_depth_clamp_zero_one
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_global_priority_query
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_compression_control
- VK_EXT_legacy_dithering
- VK_EXT_load_store_op_none
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_pipeline_creation_feedback
- VK_EXT_pipeline_robustness
- VK_EXT_primitive_topology_list_restart
- VK_EXT_primitives_generated_query
- VK_EXT_private_data
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_rgba10x6_formats
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_image_atomic_int64
- VK_EXT_subpass_merge_feedback
- VK_EXT_texel_buffer_alignment
- VK_EXT_tooling_info
- VK_KHR_copy_commands2
- VK_KHR_dynamic_rendering
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_maintenance4
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_terminate_invocation
- VK_KHR_synchronization2
- VK_KHR_zero_initialize_workgroup_memory
僅 Mali-G610 MC6 有的擴充功能(1)
- VK_EXT_swapchain_maintenance1
不同的核心功能(70)
| multiview | 不支援 → 通過 |
| samplerYcbcrConversion | 不支援 → 通過 |
| shaderDrawParameters | 不支援 → 通過 |
| storageBuffer16BitAccess | 不支援 → 通過 |
| storageInputOutput16 | 不支援 → 通過 |
| storagePushConstant16 | 不支援 → 通過 |
| uniformAndStorageBuffer16BitAccess | 不支援 → 通過 |
| variablePointers | 不支援 → 通過 |
| variablePointersStorageBuffer | 不支援 → 通過 |
| bufferDeviceAddress | 不支援 → 通過 |
| bufferDeviceAddressCaptureReplay | 不支援 → 通過 |
| descriptorBindingPartiallyBound | 不支援 → 通過 |
| descriptorBindingSampledImageUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingStorageBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingStorageImageUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingStorageTexelBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingUniformBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingUniformTexelBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingUpdateUnusedWhilePending | 不支援 → 通過 |
| descriptorBindingVariableDescriptorCount | 不支援 → 通過 |
| descriptorIndexing | 不支援 → 通過 |
| drawIndirectCount | 不支援 → 通過 |
| hostQueryReset | 不支援 → 通過 |
| imagelessFramebuffer | 不支援 → 通過 |
| runtimeDescriptorArray | 不支援 → 通過 |
| samplerFilterMinmax | 不支援 → 通過 |
| samplerMirrorClampToEdge | 不支援 → 通過 |
| scalarBlockLayout | 不支援 → 通過 |
| separateDepthStencilLayouts | 不支援 → 通過 |
| shaderBufferInt64Atomics | 不支援 → 通過 |
| shaderFloat16 | 不支援 → 通過 |
| shaderInputAttachmentArrayDynamicIndexing | 不支援 → 通過 |
| shaderInputAttachmentArrayNonUniformIndexing | 不支援 → 通過 |
| shaderInt8 | 不支援 → 通過 |
| shaderOutputLayer | 不支援 → 通過 |
| shaderOutputViewportIndex | 不支援 → 通過 |
| shaderSampledImageArrayNonUniformIndexing | 不支援 → 通過 |
| shaderSharedInt64Atomics | 不支援 → 通過 |
| shaderStorageBufferArrayNonUniformIndexing | 不支援 → 通過 |
| shaderStorageImageArrayNonUniformIndexing | 不支援 → 通過 |
| shaderStorageTexelBufferArrayDynamicIndexing | 不支援 → 通過 |
| shaderStorageTexelBufferArrayNonUniformIndexing | 不支援 → 通過 |
| shaderSubgroupExtendedTypes | 不支援 → 通過 |
| shaderUniformBufferArrayNonUniformIndexing | 不支援 → 通過 |
| shaderUniformTexelBufferArrayDynamicIndexing | 不支援 → 通過 |
| shaderUniformTexelBufferArrayNonUniformIndexing | 不支援 → 通過 |
| storageBuffer8BitAccess | 不支援 → 通過 |
| storagePushConstant8 | 不支援 → 通過 |
| subgroupBroadcastDynamicId | 不支援 → 通過 |
| timelineSemaphore | 不支援 → 通過 |
| uniformAndStorageBuffer8BitAccess | 不支援 → 通過 |
| uniformBufferStandardLayout | 不支援 → 通過 |
| vulkanMemoryModel | 不支援 → 通過 |
| vulkanMemoryModelAvailabilityVisibilityChains | 不支援 → 通過 |
| vulkanMemoryModelDeviceScope | 不支援 → 通過 |
| computeFullSubgroups | 不支援 → 通過 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 不支援 → 通過 |
| dynamicRendering | 不支援 → 通過 |
| inlineUniformBlock | 不支援 → 通過 |
| maintenance4 | 不支援 → 通過 |
| pipelineCreationCacheControl | 不支援 → 通過 |
| privateData | 不支援 → 通過 |
| robustImageAccess | 不支援 → 通過 |
| shaderDemoteToHelperInvocation | 不支援 → 通過 |
| shaderIntegerDotProduct | 不支援 → 通過 |
| shaderTerminateInvocation | 不支援 → 通過 |
| shaderZeroInitializeWorkgroupMemory | 不支援 → 通過 |
| subgroupSizeControl | 不支援 → 通過 |
| synchronization2 | 不支援 → 通過 |
| textureCompressionASTC_HDR | 不支援 → 通過 |
不同的限制(7)
| 限制 | 原廠 | Mali-G610 |
|---|---|---|
| maxUniformBufferRange | 65536 | 2147483648 |
| maxMemoryAllocationCount | 4294967295 | 16384 |
| bufferImageGranularity | 4096 | 1 |
| maxBoundDescriptorSets | 4 | 7 |
| maxGeometryInputComponents | 64 | 128 |
| maxGeometryTotalOutputComponents | 1024 | 2048 |
| timestampPeriod | 76.9231 | 41.6667 |
只有一個驅動程式支援的格式(多了 8 種,少了 0 種)
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SSCALED
- B8G8R8_USCALED
- R64_SINT
- R64_UINT
- 無