FauxVkDB
Español
Inicio / Adreno (TM) 610 / Comparar

Turnip-Rutabaga-v3 vs Turnip_v27.0.0-R1

En la Adreno (TM) 610 (HONOR Pad X8a, HONOR X8c, POCO M7, Redmi Note 11, Redmi Note 12, Redmi Note 13, Samsung Galaxy A05s, Xiaomi 220333QAG). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).

De fábricaTurnip_v27.0.0-R1Mesa 27.0.0-devel (git-f28352d117)
vs
PersonalizadoTurnip-Rutabaga-v3Mesa 26.3.0-devel (git-b00479181d)
Versión del sistema gráfico (Vulkan)1.3.363 a 1.0.359
Funciones opcionales (extensiones)158 a 145+4 -17
Funciones que pasan su comprobación (validadas)47 a 47ambos pasan las mismas comprobaciones
Escenas de la prueba de velocidad (benchmark)4 más rápidas 0 más lentas7% más rápido en general (media geométrica)
Juegos que podría mover cada driver (una estimación a partir de su lista de funciones): verde probable, amarillo quizá, naranja limitado, rojo no
De fábricaDX92002+DX102006+DX112009+DX122015+Switch
PersonalizadoDX92002+DX102006+DX112009+DX122015+Switch
  • hdr_2160p10% más rápido
  • oit_linked_lists4% más rápido
  • pipeline_barriers7% más rápido
  • subpasses8% más rápido

Driver personalizado frente al de fábrica, por escena. Las barras a la derecha son más rápidas; a la izquierda, más lentas.

Pequeñas zonas de la imagen difieren del driver de fábrica en 1 escena (pipeline_barriers: 1482 de 2304 celdas). La imagen coincide en general, así que es un fallo de renderizado local, no una escena distinta.

No arrancó todas las veces: compute_nbody (de fábrica 3 de 3, personalizado 0 de 3).

No en igualdad de condiciones: el reloj de la GPU fue distinto durante 1 de estas escenas (por ejemplo subpasses: de fábrica al 88% del máximo del dispositivo, personalizado al 100%). Parte de la diferencia en el tiempo por fotograma viene del reloj que eligió el dispositivo, no del driver.

Detalles de Turnip_v27.0.0-R1 Detalles de Turnip-Rutabaga-v3

Comprobaciones de funciones que difieren (0)

Todas las comprobaciones de funciones terminan igual en los dos drivers.

Escenas de la prueba de velocidad (benchmark)

EscenaTurnip_v27.0.0-R1 msTurnip-Rutabaga-v3 msDiferenciaArranquesReloj de la GPU, MHzImagen vs de fábrica
compute_nbody89.38 típico 89.17n/asolo un lado3 de 3 vs 0 de 31115 vs ? reloj desconocidosin comprobar
hdr_2160p347.46 típico 347.29317.11 típico 310.7210% más rápido3 de 3 vs 3 de 31115 vs 1068 sin gran diferencia 0.0 sin diferencia pequeña peor 0.0 64x36
oit_linked_lists98.08 típico 96.1894.48 típico 94.294% más rápido3 de 3 vs 3 de 31115 vs 1115 sin gran diferencia 0.0 sin diferencia pequeña peor 0.0 64x36
pipeline_barriers45.04 típico 45.3542.19 típico 42.597% más rápido3 de 3 vs 3 de 31115 vs 1115 sin gran diferencia 10.6 difiere en 1482 zonas pequeñas peor 62.3 64x36
subpasses88.72 típico 88.7382.30 típico 82.298% más rápido3 de 3 vs 3 de 3982 vs 1115 no comparablesin comprobar

Tiempo para dibujar un fotograma, por escena: el tiempo por fotograma medio (promedio) de la mejor ronda de la escena, que es cuántos fotogramas entregó el driver; cuanto menor, más rápido. “Típico”, a su lado, es el fotograma mediano, que puede quedar muy por debajo del promedio cuando los fotogramas de un driver llegan a dos velocidades. Un par de informes hechos antes de que se registraran los promedios por ronda se compara con la mediana. Se descarta una escena cuyas rondas difieran en más de un 15%. Una escena marcada como “capada” (paced) la mantuvo en ese tiempo medio por fotograma el driver o la cola de la pantalla, junto con al menos otra escena de la misma ejecución; su tiempo indica cómo se espaciaron los fotogramas, no lo rápido que renderizó el driver, así que no se compara. Una escena marcada como “demasiado ligera” tardó menos de 8 ms al tamaño estándar (1920 por 1080) en los dos drivers, donde la cola de fotogramas de la pantalla espacia los fotogramas más que el chip; se compara su ejecución más pesada: la fila que termina en _2160p es la escena dibujada a 3840 por 2160, y compute_nbody_2x es esa escena con el doble de partículas. “Más rápido” y “más lento” describen Turnip-Rutabaga-v3 frente a Turnip_v27.0.0-R1. “Imagen vs de fábrica” compara un fotograma fijo por escena como una cuadrícula de color gruesa (0 es idéntico, por encima de 40 es una imagen distinta); sirve para detectar una escena que no se dibujó. Cuando los dos informes traen la cuadrícula más fina de 64x36, la segunda cifra es cuántas de sus 2.304 celdas difieren en más de 4 de 255, y “peor” es la celda individual con más diferencia; así se detecta un pequeño error de renderizado en una imagen que por lo demás coincide. Una fila marcada como 16x9 viene de un informe hecho antes de que existiera la cuadrícula más fina. “Arranques” es cuántos de los arranques de proceso de una escena llegaron a una ronda medida. Un reloj de la GPU marcado como “no comparable” difirió en más del 5% del máximo del dispositivo entre las dos mediciones.

Diferencias técnicas (Vulkan)

Extensiones solo en Turnip-Rutabaga-v3 (4)
  • VK_EXT_depth_range_unrestricted
  • VK_EXT_frame_boundary
  • VK_EXT_pipeline_robustness
  • VK_KHR_cooperative_matrix
Extensiones solo en Turnip_v27.0.0-R1 (17)
  • VK_EXT_global_priority
  • VK_EXT_global_priority_query
  • VK_EXT_subgroup_size_control
  • VK_KHR_global_priority
  • VK_KHR_maintenance4
  • VK_KHR_maintenance5
  • VK_KHR_maintenance6
  • VK_KHR_maintenance7
  • VK_KHR_multiview
  • VK_KHR_shader_float_controls2
  • VK_KHR_shader_subgroup_extended_types
  • VK_KHR_shader_subgroup_uniform_control_flow
  • VK_KHR_spirv_1_4
  • VK_KHR_swapchain_mutable_format
  • VK_QCOM_rotated_copy_commands
  • VK_VALVE_buffer_device_address_allocation_alignment
  • VK_VALVE_fragment_density_map_layered
Funciones básicas que difieren (57)
multiview Vulkan 1.1pasa a no admitida
samplerYcbcrConversion Vulkan 1.1pasa a no admitida
shaderDrawParameters Vulkan 1.1pasa a no admitida
variablePointers Vulkan 1.1pasa a no admitida
variablePointersStorageBuffer Vulkan 1.1pasa a no admitida
bufferDeviceAddress Vulkan 1.2pasa a no admitida
bufferDeviceAddressCaptureReplay Vulkan 1.2pasa a no admitida
descriptorBindingPartiallyBound Vulkan 1.2pasa a no admitida
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2pasa a no admitida
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2pasa a no admitida
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2pasa a no admitida
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2pasa a no admitida
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2pasa a no admitida
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2pasa a no admitida
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2pasa a no admitida
descriptorBindingVariableDescriptorCount Vulkan 1.2pasa a no admitida
descriptorIndexing Vulkan 1.2pasa a no admitida
drawIndirectCount Vulkan 1.2pasa a no admitida
hostQueryReset Vulkan 1.2pasa a no admitida
imagelessFramebuffer Vulkan 1.2pasa a no admitida
runtimeDescriptorArray Vulkan 1.2pasa a no admitida
samplerMirrorClampToEdge Vulkan 1.2pasa a no admitida
scalarBlockLayout Vulkan 1.2pasa a no admitida
separateDepthStencilLayouts Vulkan 1.2pasa a no admitida
shaderFloat16 Vulkan 1.2pasa a no admitida
shaderInt8 Vulkan 1.2pasa a no admitida
shaderOutputLayer Vulkan 1.2pasa a no admitida
shaderOutputViewportIndex Vulkan 1.2pasa a no admitida
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2pasa a no admitida
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2pasa a no admitida
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2pasa a no admitida
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2pasa a no admitida
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2pasa a no admitida
shaderSubgroupExtendedTypes Vulkan 1.2pasa a no admitida
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2pasa a no admitida
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2pasa a no admitida
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2pasa a no admitida
subgroupBroadcastDynamicId Vulkan 1.2pasa a no admitida
timelineSemaphore Vulkan 1.2pasa a no admitida
uniformBufferStandardLayout Vulkan 1.2pasa a no admitida
vulkanMemoryModel Vulkan 1.2pasa a no admitida
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2pasa a no admitida
vulkanMemoryModelDeviceScope Vulkan 1.2pasa a no admitida
computeFullSubgroups Vulkan 1.3pasa a no admitida
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3pasa a no admitida
dynamicRendering Vulkan 1.3pasa a no admitida
inlineUniformBlock Vulkan 1.3pasa a no admitida
maintenance4 Vulkan 1.3pasa a no admitida
pipelineCreationCacheControl Vulkan 1.3pasa a no admitida
privateData Vulkan 1.3pasa a no admitida
robustImageAccess Vulkan 1.3pasa a no admitida
shaderDemoteToHelperInvocation Vulkan 1.3pasa a no admitida
shaderIntegerDotProduct Vulkan 1.3pasa a no admitida
shaderTerminateInvocation Vulkan 1.3pasa a no admitida
shaderZeroInitializeWorkgroupMemory Vulkan 1.3pasa a no admitida
subgroupSizeControl Vulkan 1.3pasa a no admitida
synchronization2 Vulkan 1.3pasa a no admitida
Límites que difieren (0)
LímiteTurnip_v27.0.0-R1Turnip-Rutabaga-v3
Formatos admitidos por un solo driver (0 ganados, 2 perdidos)

Solo en Turnip-Rutabaga-v3:

  • Ninguno

Solo en Turnip_v27.0.0-R1:

  • A1B5G5R5_UNORM_PACK16
  • A8_UNORM