malisx2-0.2.3-b85d5f7f36 對比 PanVK-G57-Strato-Mali-207af80
在 Mali-G52 MC2 上 (HONOR X5c, HONOR X5c, Infinix HOT 60i, Oppo A18, Oppo A38, realme RMX3710, Redmi 12, Redmi 12C, Redmi 14C, Redmi 15C, TECNO POVA 3, TECNO SPARK 20, Xiaomi 24049RN28L). 先列出的驅動程式與後一個對比,後一個是基準。
原廠PanVK-G57-Strato-Mali-207af80
對比自訂malisx2-0.2.3-b85d5f7f36
圖形系統版本(Vulkan)1.3.278 → 1.1.363
可選功能(擴充功能)131 → 15+2 -118
通過檢測的功能(已驗證)34 → 222 個僅在 malisx2-0.2.3-b85d5f7f36 上通過 14 個僅在 PanVK-G57-Strato-Mali-207af80 上通過
跑分測試場景(基準測試)0 個更快 3 個更慢總體慢 19%(幾何平均)
各驅動程式能跑的遊戲(根據功能列表估算):綠色大致能跑,黃色未必能跑,橙色問題較多,紅色跑不動
原廠DX92002+DX102006+DX112009+DX122015+Switch
自訂DX92002+DX102006+DX112009+DX122015+Switch
- compute_nbody慢 21%
- oit_linked_lists慢 11%
- pipeline_barriers慢 23%
1 個場景的畫面有局部區域與原廠驅動程式不同 (pipeline_barriers:2304 個格子中有 1470 個). 整體畫面是一致的,所以這是局部渲染故障,而不是畫了另一個場景。
沒有每次都能啟動: hdr_2160p (原廠 3 / 3, 自訂 0 / 3), subpasses (原廠 3 / 3, 自訂 0 / 3).
PanVK-G57-Strato-Mali-207af80 詳情 malisx2-0.2.3-b85d5f7f36 詳情
結果不同的功能檢測(30)
| 功能 | PanVK-G57-Strato-Mali-207af80 | malisx2-0.2.3-b85d5f7f36 | 變化 |
|---|---|---|---|
| borderColorSwizzle | 通過 | 不支援 | 減少 |
| customBorderColors | 通過 | 不支援 | 減少 |
| extendedDynamicState | 通過 | 不支援 | 減少 |
| extendedDynamicState2 | 通過 | 不支援 | 減少 |
| inlineUniformBlock | 通過 | 不支援 | 減少 |
| transformFeedback | 通過 | 不支援 | 減少 |
| vertexInputDynamicState | 通過 | 不支援 | 減少 |
| shaderBufferInt64Atomics | 通過 | 不支援 | 減少 |
| timelineSemaphore | 通過 | 不支援 | 減少 |
| drawIndirectFirstInstance | 通過 | 不支援 | 減少 |
| geometryShader | 通過 | 不支援 | 減少 |
| occlusionQueryPrecise | 通過 | 失敗 | 減少 |
| tessellationShader | 通過 | 不支援 | 減少 |
| core.msaa_resolve | 通過 | 失敗 | 減少 |
| push.max_combined_image_samplers | 不支援 | 通過 | 新增 |
| push.max_uniform_buffers | 不支援 | 通過 | 新增 |
| borderColorSwizzleFromImage | 未檢測 | 不支援 | 有變化 |
| customBorderColorWithoutFormat | 未檢測 | 不支援 | 有變化 |
| extendedDynamicState2PatchControlPoints | 未檢測 | 不支援 | 有變化 |
| extendedDynamicState3LineRasterizationMode | 未檢測 | 不支援 | 有變化 |
| extendedDynamicState3ProvokingVertexMode | 未檢測 | 不支援 | 有變化 |
| extendedDynamicState3SampleMask | 未檢測 | 不支援 | 有變化 |
| extendedDynamicState3TessellationDomainOrigin | 未檢測 | 不支援 | 有變化 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 未檢測 | 不支援 | 有變化 |
| shaderSharedInt64Atomics | 未檢測 | 不支援 | 有變化 |
| depthClamp | 不支援 | 未檢測 | 有變化 |
| logicOp | 未檢測 | 不支援 | 有變化 |
| shaderClipDistance | 不支援 | 未檢測 | 有變化 |
| shaderInt64 | 未檢測 | 不支援 | 有變化 |
| wideLines | 未檢測 | 不支援 | 有變化 |
跑分測試場景(基準測試)
| 場景 | PanVK-G57-Strato-Mali-207af80 ms | malisx2-0.2.3-b85d5f7f36 ms | 差異 | 啟動次數 | GPU 頻率,MHz | 畫面對比原廠 |
|---|---|---|---|---|---|---|
| compute_nbody | 81.17 | 103.07 | 慢 21% | 3 / 3 對比 3 / 3 | ? 對比 ? | 沒有明顯差異 沒有細微差異 |
| hdr_2160p | 175.11 | n/a | 僅一側有 | 3 / 3 對比 0 / 3 | ? 對比 ? | 未檢測 |
| oit_linked_lists | 65.83 | 73.68 | 慢 11% | 3 / 3 對比 3 / 3 | ? 對比 ? | 沒有明顯差異 沒有細微差異 |
| pipeline_barriers | 66.40 | 86.77 | 慢 23% | 3 / 3 對比 3 / 3 | ? 對比 ? | 沒有明顯差異 有 1470 處小區域不同 |
| subpasses | 127.89 | n/a | 僅一側有 | 3 / 3 對比 0 / 3 | ? 對比 ? | 未檢測 |
技術差異(Vulkan)
僅 malisx2-0.2.3-b85d5f7f36 有的擴充功能(2)
- VK_EXT_memory_budget
- VK_KHR_push_descriptor
僅 PanVK-G57-Strato-Mali-207af80 有的擴充功能(118)
- VK_ANDROID_external_format_resolve
- VK_ANDROID_external_memory_android_hardware_buffer
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_4444_formats
- VK_EXT_astc_decode_mode
- VK_EXT_border_color_swizzle
- VK_EXT_calibrated_timestamps
- VK_EXT_custom_border_color
- VK_EXT_debug_marker
- VK_EXT_device_address_binding_report
- VK_EXT_device_memory_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_external_memory_dma_buf
- VK_EXT_frame_boundary
- VK_EXT_global_priority
- VK_EXT_global_priority_query
- VK_EXT_host_query_reset
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_compression_control
- VK_EXT_image_compression_control_swapchain
- VK_EXT_image_drm_format_modifier
- VK_EXT_image_robustness
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_index_type_uint8
- VK_EXT_inline_uniform_block
- 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_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_primitive_topology_list_restart
- VK_EXT_primitives_generated_query
- VK_EXT_private_data
- VK_EXT_queue_family_foreign
- VK_EXT_rgba10x6_formats
- VK_EXT_scalar_block_layout
- VK_EXT_separate_stencil_usage
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_tile_image
- VK_EXT_subgroup_size_control
- VK_EXT_subpass_merge_feedback
- VK_EXT_texel_buffer_alignment
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_tooling_info
- VK_EXT_transform_feedback
- VK_EXT_vertex_input_dynamic_state
- VK_GOOGLE_decorate_string
- VK_GOOGLE_user_type
- VK_KHR_16bit_storage
- VK_KHR_8bit_storage
- VK_KHR_bind_memory2
- VK_KHR_buffer_device_address
- VK_KHR_calibrated_timestamps
- VK_KHR_copy_commands2
- VK_KHR_create_renderpass2
- VK_KHR_dedicated_allocation
- VK_KHR_depth_stencil_resolve
- VK_KHR_descriptor_update_template
- VK_KHR_device_group
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_external_fence
- VK_KHR_external_memory
- VK_KHR_external_memory_fd
- VK_KHR_external_semaphore
- VK_KHR_format_feature_flags2
- VK_KHR_get_memory_requirements2
- VK_KHR_global_priority
- VK_KHR_image_format_list
- VK_KHR_imageless_framebuffer
- VK_KHR_index_type_uint8
- VK_KHR_load_store_op_none
- VK_KHR_maintenance1
- VK_KHR_maintenance2
- VK_KHR_maintenance3
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_map_memory2
- VK_KHR_multiview
- VK_KHR_relaxed_block_layout
- VK_KHR_sampler_mirror_clamp_to_edge
- VK_KHR_sampler_ycbcr_conversion
- VK_KHR_separate_depth_stencil_layouts
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_draw_parameters
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float16_int8
- VK_KHR_shader_float_controls
- VK_KHR_shader_float_controls2
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_extended_types
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_shared_presentable_image
- VK_KHR_spirv_1_4
- VK_KHR_storage_buffer_storage_class
- VK_KHR_synchronization2
- VK_KHR_timeline_semaphore
- VK_KHR_uniform_buffer_standard_layout
- VK_KHR_variable_pointers
- VK_KHR_vertex_attribute_divisor
- VK_KHR_vulkan_memory_model
- VK_KHR_zero_initialize_workgroup_memory
不同的核心功能(45)
| multiview | 通過 → 不支援 |
| samplerYcbcrConversion | 通過 → 不支援 |
| shaderDrawParameters | 通過 → 不支援 |
| storageBuffer16BitAccess | 通過 → 不支援 |
| storageInputOutput16 | 通過 → 不支援 |
| storagePushConstant16 | 通過 → 不支援 |
| uniformAndStorageBuffer16BitAccess | 通過 → 不支援 |
| variablePointers | 通過 → 不支援 |
| variablePointersStorageBuffer | 通過 → 不支援 |
| bufferDeviceAddress | 通過 → 不支援 |
| hostQueryReset | 通過 → 不支援 |
| imagelessFramebuffer | 通過 → 不支援 |
| samplerMirrorClampToEdge | 通過 → 不支援 |
| scalarBlockLayout | 通過 → 不支援 |
| separateDepthStencilLayouts | 通過 → 不支援 |
| shaderBufferInt64Atomics | 通過 → 不支援 |
| shaderFloat16 | 通過 → 不支援 |
| shaderInt8 | 通過 → 不支援 |
| shaderOutputViewportIndex | 通過 → 不支援 |
| shaderSharedInt64Atomics | 通過 → 不支援 |
| shaderSubgroupExtendedTypes | 通過 → 不支援 |
| 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 | 通過 → 不支援 |
不同的限制(45)
| 限制 | PanVK-G57-Strato-Mali-207af80 | malisx2-0.2.3-b85d5f7f36 |
|---|---|---|
| maxSamplerAllocationCount | 4294967295 | 4000 |
| maxPerStageDescriptorUniformBuffers | 241 | 223 |
| maxPerStageDescriptorStorageBuffers | 35 | 64 |
| maxPerStageDescriptorSampledImages | 256 | 208 |
| maxPerStageDescriptorStorageImages | 21 | 32 |
| maxPerStageResources | 570 | 664 |
| maxDescriptorSetSamplers | 768 | 65535 |
| maxDescriptorSetUniformBuffers | 1446 | 223 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 210 | 4096 |
| maxDescriptorSetStorageBuffersDynamic | 32 | 8 |
| maxDescriptorSetSampledImages | 1536 | 65535 |
| maxDescriptorSetStorageImages | 126 | 256 |
| maxVertexInputAttributes | 32 | 16 |
| maxVertexInputBindings | 32 | 16 |
| maxVertexInputAttributeOffset | 2047 | 4294967295 |
| maxVertexInputBindingStride | 2048 | 65535 |
| maxTessellationGenerationLevel | 64 | 0 |
| maxTessellationPatchSize | 32 | 0 |
| maxTessellationControlPerVertexInputComponents | 128 | 0 |
| maxTessellationControlPerVertexOutputComponents | 128 | 0 |
| maxTessellationControlPerPatchOutputComponents | 120 | 0 |
| maxTessellationControlTotalOutputComponents | 4096 | 0 |
| maxTessellationEvaluationInputComponents | 128 | 0 |
| maxTessellationEvaluationOutputComponents | 128 | 0 |
| maxGeometryShaderInvocations | 32 | 0 |
| maxGeometryInputComponents | 128 | 0 |
| maxGeometryOutputComponents | 128 | 0 |
| maxGeometryOutputVertices | 256 | 0 |
| maxGeometryTotalOutputComponents | 2048 | 0 |
| maxFragmentDualSrcAttachments | 8 | 1 |
| maxFragmentCombinedOutputResources | 64 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| framebufferColorSampleCounts | 5 | 29 |
| framebufferDepthSampleCounts | 5 | 29 |
| framebufferStencilSampleCounts | 5 | 29 |
| sampledImageColorSampleCounts | 5 | 29 |
| sampledImageIntegerSampleCounts | 5 | 29 |
| sampledImageDepthSampleCounts | 5 | 29 |
| sampledImageStencilSampleCounts | 5 | 29 |
| maxClipDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| lineWidthRange | 1, 4095.94 | 1, 1 |
| lineWidthGranularity | 0.0625 | 0 |
只有一個驅動程式支援的格式(多了 11 種,少了 34 種)
- A2R10G10B10_SNORM_PACK32
- BC1_RGBA_SRGB_BLOCK
- BC1_RGBA_UNORM_BLOCK
- BC1_RGB_SRGB_BLOCK
- BC1_RGB_UNORM_BLOCK
- BC2_SRGB_BLOCK
- BC2_UNORM_BLOCK
- BC3_SRGB_BLOCK
- BC3_UNORM_BLOCK
- R10X6G10X6_UNORM_2PACK16
- R10X6_UNORM_PACK16
- A1B5G5R5_UNORM_PACK16
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- A8_UNORM
- ASTC_10x10_SFLOAT_BLOCK
- ASTC_10x5_SFLOAT_BLOCK
- ASTC_10x6_SFLOAT_BLOCK
- ASTC_10x8_SFLOAT_BLOCK
- ASTC_12x10_SFLOAT_BLOCK
- ASTC_12x12_SFLOAT_BLOCK
- ASTC_4x4_SFLOAT_BLOCK
- ASTC_5x4_SFLOAT_BLOCK
- ASTC_5x5_SFLOAT_BLOCK
- ASTC_6x5_SFLOAT_BLOCK
- ASTC_6x6_SFLOAT_BLOCK
- ASTC_8x5_SFLOAT_BLOCK
- ASTC_8x6_SFLOAT_BLOCK
- ASTC_8x8_SFLOAT_BLOCK
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G8B8G8R8_422_UNORM
- G8_B8R8_2PLANE_420_UNORM
- G8_B8R8_2PLANE_422_UNORM
- G8_B8_R8_3PLANE_420_UNORM
- G8_B8_R8_3PLANE_422_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16
- R64_SINT
- R64_UINT