FauxVkDB
简体中文
首页 / Mali-G52 MC2 / 对比

malisx2-0.2.1-7b57547cd1 对比 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-207af80v1.r49p1-03bet0.19498e0ae1d5dac223383c39a2e58f04
对比
第三方malisx2-0.2.1-7b57547cd1v1.r44p1-malisx2.0.2.1.sbf5095cbc93b
图形系统版本(Vulkan)1.3.278 → 1.1.363
可选功能(扩展)131 → 15+2 -118
通过检测的功能(已验证)34 → 222 个仅在 malisx2-0.2.1-7b57547cd1 上通过 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慢 10%
  • pipeline_barriers慢 24%

每个场景中第三方驱动与原厂驱动的对比。条形向右表示更快,向左表示更慢。

1 个场景的画面有局部区域与原厂驱动不同 (pipeline_barriers:2304 个格子中有 1470 个). 整体画面是一致的,所以这是局部渲染故障,而不是画了另一个场景。

没有每次都能启动: hdr_2160p (原厂 3 / 3, 第三方 0 / 3), subpasses (原厂 3 / 3, 第三方 0 / 3).

PanVK-G57-Strato-Mali-207af80 详情 malisx2-0.2.1-7b57547cd1 详情

结果不同的功能检测(31)

功能PanVK-G57-Strato-Mali-207af80malisx2-0.2.1-7b57547cd1变化
borderColorSwizzle
VK_EXT_border_color_swizzle
通过不支持减少
customBorderColors
VK_EXT_custom_border_color
通过不支持减少
extendedDynamicState
VK_EXT_extended_dynamic_state
通过不支持减少
extendedDynamicState2
VK_EXT_extended_dynamic_state2
通过不支持减少
inlineUniformBlock
VK_EXT_inline_uniform_block
通过不支持减少
transformFeedback
VK_EXT_transform_feedback
通过不支持减少
vertexInputDynamicState
VK_EXT_vertex_input_dynamic_state
通过不支持减少
shaderBufferInt64Atomics
VK_KHR_shader_atomic_int64
通过不支持减少
timelineSemaphore
VK_KHR_timeline_semaphore
通过不支持减少
drawIndirectFirstInstance
VkPhysicalDeviceFeatures
通过不支持减少
geometryShader
VkPhysicalDeviceFeatures
通过不支持减少
occlusionQueryPrecise
VkPhysicalDeviceFeatures
通过失败减少
tessellationShader
VkPhysicalDeviceFeatures
通过不支持减少
core.msaa_resolve
core
通过失败减少
push.max_combined_image_samplers
core
不支持通过新增
push.max_uniform_buffers
core
不支持通过新增
borderColorSwizzleFromImage
VK_EXT_border_color_swizzle
未检测不支持有变化
customBorderColorWithoutFormat
VK_EXT_custom_border_color
未检测不支持有变化
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
未检测不支持有变化
extendedDynamicState3LineRasterizationMode
VK_EXT_extended_dynamic_state3
未检测不支持有变化
extendedDynamicState3ProvokingVertexMode
VK_EXT_extended_dynamic_state3
未检测不支持有变化
extendedDynamicState3SampleMask
VK_EXT_extended_dynamic_state3
未检测不支持有变化
extendedDynamicState3TessellationDomainOrigin
VK_EXT_extended_dynamic_state3
未检测不支持有变化
descriptorBindingInlineUniformBlockUpdateAfterBind
VK_EXT_inline_uniform_block
未检测不支持有变化
shaderSharedInt64Atomics
VK_KHR_shader_atomic_int64
未检测不支持有变化
depthClamp
VkPhysicalDeviceFeatures
不支持未检测有变化
dualSrcBlend
VkPhysicalDeviceFeatures
未检测不支持有变化
logicOp
VkPhysicalDeviceFeatures
未检测不支持有变化
shaderClipDistance
VkPhysicalDeviceFeatures
不支持未检测有变化
shaderInt64
VkPhysicalDeviceFeatures
未检测不支持有变化
wideLines
VkPhysicalDeviceFeatures
未检测不支持有变化

跑分测试场景(基准测试)

场景PanVK-G57-Strato-Mali-207af80 msmalisx2-0.2.1-7b57547cd1 ms差异启动次数GPU 频率,MHz画面对比原厂
compute_nbody81.17 典型值 81.58103.00 典型值 102.94慢 21%3 / 3 对比 3 / 3? 对比 ? 频率未知没有明显差异 0.0 没有细微差异 最差 0.0 64x36
hdr_2160p175.11 典型值 173.59n/a仅一侧有3 / 3 对比 0 / 3? 对比 ? 频率未知未检测
oit_linked_lists65.83 典型值 65.7573.45 典型值 72.90慢 10%3 / 3 对比 3 / 3? 对比 ? 频率未知没有明显差异 0.0 没有细微差异 最差 0.0 64x36
pipeline_barriers66.40 典型值 67.6386.91 典型值 89.15慢 24%3 / 3 对比 3 / 3? 对比 ? 频率未知没有明显差异 9.9 有 1470 处小区域不同 最差 63.3 64x36
subpasses127.89 典型值 128.73n/a仅一侧有3 / 3 对比 0 / 3? 对比 ? 频率未知未检测

绘制一帧所需的时间,按场景统计:取该场景最佳一轮的平均帧时间,也就是驱动交付了多少帧;越低越快。旁边的“典型值”是中位帧,当驱动的帧分成两种速度时,它可能比平均值低很多。在记录每轮平均值之前生成的一对报告,改用中位数对比。各轮之间相差超过 15% 的场景会被排除。标为“被锁帧”的场景,是被驱动或显示队列锁在了那个平均帧时间上,并且同一次运行中至少还有另一个场景也是如此;它的耗时反映的是帧的间隔,而不是驱动渲染得有多快,所以不参与对比。标为“太轻”的场景,在标准尺寸(1920×1080)下两个驱动都不到 8 ms,此时屏幕的帧队列对帧间隔的影响比芯片更大;这时对比的是它更重的版本:以 _2160p 结尾的行是以 3840×2160 绘制的该场景,compute_nbody_2x 是粒子数翻倍的该场景。“更快”和“更慢”描述的是 malisx2-0.2.1-7b57547cd1 相对 PanVK-G57-Strato-Mali-207af80。“画面对比原厂”把每个场景的一个固定帧按粗略的色块网格对比(0 为完全相同,超过 40 表示画面不同),用来找出没有被画出来的场景。如果两份报告都带有更细的 64×36 网格,第二个数字是其 2,304 个格子中有多少个差异超过 255 里的 4,“最差”是单个格子的最大差异;这能找出其余部分都一致的画面里的小渲染错误。标为 16x9 的行来自细网格出现之前生成的报告。“启动次数”是一个场景的进程启动中,有多少次进入了被测量的一轮。标为“不可比”的 GPU 频率,表示两次计时之间的差异超过设备最大频率的 5%。

技术差异(Vulkan)

仅 malisx2-0.2.1-7b57547cd1 有的扩展(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 Vulkan 1.1通过 → 不支持
samplerYcbcrConversion Vulkan 1.1通过 → 不支持
shaderDrawParameters Vulkan 1.1通过 → 不支持
storageBuffer16BitAccess Vulkan 1.1通过 → 不支持
storageInputOutput16 Vulkan 1.1通过 → 不支持
storagePushConstant16 Vulkan 1.1通过 → 不支持
uniformAndStorageBuffer16BitAccess Vulkan 1.1通过 → 不支持
variablePointers Vulkan 1.1通过 → 不支持
variablePointersStorageBuffer Vulkan 1.1通过 → 不支持
bufferDeviceAddress Vulkan 1.2通过 → 不支持
hostQueryReset Vulkan 1.2通过 → 不支持
imagelessFramebuffer Vulkan 1.2通过 → 不支持
samplerMirrorClampToEdge Vulkan 1.2通过 → 不支持
scalarBlockLayout Vulkan 1.2通过 → 不支持
separateDepthStencilLayouts Vulkan 1.2通过 → 不支持
shaderBufferInt64Atomics Vulkan 1.2通过 → 不支持
shaderFloat16 Vulkan 1.2通过 → 不支持
shaderInt8 Vulkan 1.2通过 → 不支持
shaderOutputViewportIndex Vulkan 1.2通过 → 不支持
shaderSharedInt64Atomics Vulkan 1.2通过 → 不支持
shaderSubgroupExtendedTypes Vulkan 1.2通过 → 不支持
storageBuffer8BitAccess Vulkan 1.2通过 → 不支持
storagePushConstant8 Vulkan 1.2通过 → 不支持
subgroupBroadcastDynamicId Vulkan 1.2通过 → 不支持
timelineSemaphore Vulkan 1.2通过 → 不支持
uniformAndStorageBuffer8BitAccess Vulkan 1.2通过 → 不支持
uniformBufferStandardLayout Vulkan 1.2通过 → 不支持
vulkanMemoryModel Vulkan 1.2通过 → 不支持
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2通过 → 不支持
vulkanMemoryModelDeviceScope Vulkan 1.2通过 → 不支持
computeFullSubgroups Vulkan 1.3通过 → 不支持
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3通过 → 不支持
dynamicRendering Vulkan 1.3通过 → 不支持
inlineUniformBlock Vulkan 1.3通过 → 不支持
maintenance4 Vulkan 1.3通过 → 不支持
pipelineCreationCacheControl Vulkan 1.3通过 → 不支持
privateData Vulkan 1.3通过 → 不支持
robustImageAccess Vulkan 1.3通过 → 不支持
shaderDemoteToHelperInvocation Vulkan 1.3通过 → 不支持
shaderIntegerDotProduct Vulkan 1.3通过 → 不支持
shaderTerminateInvocation Vulkan 1.3通过 → 不支持
shaderZeroInitializeWorkgroupMemory Vulkan 1.3通过 → 不支持
subgroupSizeControl Vulkan 1.3通过 → 不支持
synchronization2 Vulkan 1.3通过 → 不支持
textureCompressionASTC_HDR Vulkan 1.3通过 → 不支持
不同的限制(45)
限制PanVK-G57-Strato-Mali-207af80malisx2-0.2.1-7b57547cd1
maxSamplerAllocationCount42949672954000
maxPerStageDescriptorUniformBuffers241223
maxPerStageDescriptorStorageBuffers3564
maxPerStageDescriptorSampledImages256208
maxPerStageDescriptorStorageImages2132
maxPerStageResources570664
maxDescriptorSetSamplers76865535
maxDescriptorSetUniformBuffers1446223
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffers2104096
maxDescriptorSetStorageBuffersDynamic328
maxDescriptorSetSampledImages153665535
maxDescriptorSetStorageImages126256
maxVertexInputAttributes3216
maxVertexInputBindings3216
maxVertexInputAttributeOffset20474294967295
maxVertexInputBindingStride204865535
maxTessellationGenerationLevel640
maxTessellationPatchSize320
maxTessellationControlPerVertexInputComponents1280
maxTessellationControlPerVertexOutputComponents1280
maxTessellationControlPerPatchOutputComponents1200
maxTessellationControlTotalOutputComponents40960
maxTessellationEvaluationInputComponents1280
maxTessellationEvaluationOutputComponents1280
maxGeometryShaderInvocations320
maxGeometryInputComponents1280
maxGeometryOutputComponents1280
maxGeometryOutputVertices2560
maxGeometryTotalOutputComponents20480
maxFragmentDualSrcAttachments80
maxFragmentCombinedOutputResources644360
maxComputeWorkGroupCount4294967295, 4294967295, 429496729565535, 65535, 65535
maxInterpolationOffset0.43750.5
framebufferColorSampleCounts529
framebufferDepthSampleCounts529
framebufferStencilSampleCounts529
sampledImageColorSampleCounts529
sampledImageIntegerSampleCounts529
sampledImageDepthSampleCounts529
sampledImageStencilSampleCounts529
maxClipDistances08
maxCombinedClipAndCullDistances08
lineWidthRange1, 4095.941, 1
lineWidthGranularity0.06250
只有一个驱动支持的格式(多了 9 种,少了 34 种)

仅 malisx2-0.2.1-7b57547cd1 有:

  • 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

仅 PanVK-G57-Strato-Mali-207af80 有:

  • 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