xMeM / vulkan-wsi-layer

Other
18 stars 4 forks source link

"mesa-vulkan-icd-wrapper" issues Reporting 2024-11-11 (Performance) #29

Open hansm629 opened 5 days ago

hansm629 commented 5 days ago

@xMeM The mesa-vulkan-icd-wrapper you've developed is improving steadily! I'm truly grateful for all your hard work, Sir!😄

Currently, the performance of the older vulkan-wsi-layer is still noticeably better.

If the mesa-vulkan-icd-wrapper in the next build achieves similar performance to vulkan-wsi-layer, it will be close to perfect!

Below are the vkmark test results comparing mesa-vulkan-icd-wrapper and vulkan-wsi-layer.

The vkmark results from vulkan-wsi-layer seem to reflect performance that aligns closely with the actual specifications of the GPUs.😀

mesa-vulkan-icd-wrapper

https://github.com/xMeM/termux-packages/actions/runs/11756819746 mesa-vulkan-icd-wrapper-dbg_24.2.5-8_aarch64.deb

Adreno 650 : vkmark Score: 2002

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x6050002 Device Name: Adreno (TM) 650 Driver Version: 2149539840 Device UUID: eeb29301435100000000020005060000 ======================================================= [vertex] device-local=true: FPS: 2786 FrameTime: 0.359 ms [vertex] device-local=false: FPS: 2006 FrameTime: 0.499 ms [texture] anisotropy=0: FPS: 2046 FrameTime: 0.489 ms [texture] anisotropy=16: FPS: 1995 FrameTime: 0.501 ms [shading] shading=gouraud: FPS: 1856 FrameTime: 0.539 ms [shading] shading=blinn-phong-inf: FPS: 1872 FrameTime: 0.534 ms [shading] shading=phong: FPS: 1716 FrameTime: 0.583 ms [shading] shading=cel: FPS: 1716 FrameTime: 0.583 ms [effect2d] kernel=edge: FPS: 1591 FrameTime: 0.629 ms [effect2d] kernel=blur: FPS: 1194 FrameTime: 0.838 ms [desktop] : FPS: 1569 FrameTime: 0.637 ms [cube] : FPS: 2506 FrameTime: 0.399 ms [clear] : FPS: 3185 FrameTime: 0.314 ms ======================================================= vkmark Score: 2002 ======================================================= ```

Adreno 740 : vkmark Score: 2434

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43050A01 Device Name: Adreno (TM) 740 Driver Version: 2150252544 Device UUID: dd6bb207435100000000010a05430000 ======================================================= [vertex] device-local=true: FPS: 2569 FrameTime: 0.389 ms [vertex] device-local=false: FPS: 2572 FrameTime: 0.389 ms [texture] anisotropy=0: FPS: 2376 FrameTime: 0.421 ms [texture] anisotropy=16: FPS: 2356 FrameTime: 0.424 ms [shading] shading=gouraud: FPS: 2332 FrameTime: 0.429 ms [shading] shading=blinn-phong-inf: FPS: 2251 FrameTime: 0.444 ms [shading] shading=phong: FPS: 2211 FrameTime: 0.452 ms [shading] shading=cel: FPS: 2422 FrameTime: 0.413 ms [effect2d] kernel=edge: FPS: 2899 FrameTime: 0.345 ms [effect2d] kernel=blur: FPS: 2130 FrameTime: 0.469 ms [desktop] : FPS: 2524 FrameTime: 0.396 ms [cube] : FPS: 2667 FrameTime: 0.375 ms [clear] : FPS: 2343 FrameTime: 0.427 ms ======================================================= vkmark Score: 2434 ======================================================= ```

Xclipse 940 : vkmark Score: 1714

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x144D Device ID: 0x2600200 Device Name: Samsung Xclipse 940 Driver Version: 8388608 Device UUID: 35f18c726c2d5685ae5893b649517b92 ======================================================= [vertex] device-local=true: FPS: 2225 FrameTime: 0.449 ms [vertex] device-local=false: FPS: 2071 FrameTime: 0.483 ms [texture] anisotropy=0: FPS: 1543 FrameTime: 0.648 ms [texture] anisotropy=16: FPS: 1664 FrameTime: 0.601 ms [shading] shading=gouraud: FPS: 1852 FrameTime: 0.540 ms [shading] shading=blinn-phong-inf: FPS: 1615 FrameTime: 0.619 ms [shading] shading=phong: FPS: 1405 FrameTime: 0.712 ms [shading] shading=cel: FPS: 1383 FrameTime: 0.723 ms [effect2d] kernel=edge: FPS: 1742 FrameTime: 0.574 ms [effect2d] kernel=blur: FPS: 1673 FrameTime: 0.598 ms [desktop] : FPS: 1535 FrameTime: 0.651 ms [cube] : FPS: 1842 FrameTime: 0.543 ms [clear] : FPS: 1740 FrameTime: 0.575 ms ======================================================= vkmark Score: 1714 ======================================================= ```

Adreno 750 : vkmark Score: 2238

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43051401 Device Name: Adreno (TM) 750 Driver Version: 2150604812 Device UUID: fe731e01435100000000011405430000 ======================================================= [vertex] device-local=true: FPS: 2436 FrameTime: 0.411 ms [vertex] device-local=false: FPS: 2489 FrameTime: 0.402 ms [texture] anisotropy=0: FPS: 2219 FrameTime: 0.451 ms [texture] anisotropy=16: FPS: 2211 FrameTime: 0.452 ms [shading] shading=gouraud: FPS: 2190 FrameTime: 0.457 ms [shading] shading=blinn-phong-inf: FPS: 2208 FrameTime: 0.453 ms [shading] shading=phong: FPS: 2025 FrameTime: 0.494 ms [shading] shading=cel: FPS: 2200 FrameTime: 0.455 ms [effect2d] kernel=edge: FPS: 2556 FrameTime: 0.391 ms [effect2d] kernel=blur: FPS: 1853 FrameTime: 0.540 ms [desktop] : FPS: 2099 FrameTime: 0.476 ms [cube] : FPS: 2550 FrameTime: 0.392 ms [clear] : FPS: 2063 FrameTime: 0.485 ms ======================================================= vkmark Score: 2238 ======================================================= ```

vulkan-wsi-layer

https://github.com/Trass3r/termux-packages/actions/runs/8938187125 vulkan-wsi-layer_0.0.1-r108.795f9a7-0_aarch64.zip vulkan-wsi-layer_0.0.1-r108.795f9a7-0_aarch64.deb

Adreno 650 : vkmark Score: 3743

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x6050002 Device Name: Adreno (TM) 650 Driver Version: 2149539840 Device UUID: eeb29301435100000000020005060000 ======================================================= [vertex] device-local=true: FPS: 5230 FrameTime: 0.191 ms [vertex] device-local=false: FPS: 3671 FrameTime: 0.272 ms [texture] anisotropy=0: FPS: 3855 FrameTime: 0.259 ms [texture] anisotropy=16: FPS: 3635 FrameTime: 0.275 ms [shading] shading=gouraud: FPS: 3437 FrameTime: 0.291 ms [shading] shading=blinn-phong-inf: FPS: 3328 FrameTime: 0.300 ms [shading] shading=phong: FPS: 3220 FrameTime: 0.311 ms [shading] shading=cel: FPS: 3305 FrameTime: 0.303 ms [effect2d] kernel=edge: FPS: 3193 FrameTime: 0.313 ms [effect2d] kernel=blur: FPS: 2908 FrameTime: 0.344 ms [desktop] : FPS: 3343 FrameTime: 0.299 ms [cube] : FPS: 4173 FrameTime: 0.240 ms [clear] : FPS: 5364 FrameTime: 0.186 ms ======================================================= vkmark Score: 3743 ======================================================= ```

Adreno 740 : vkmark Score: 5447

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43050A01 Device Name: Adreno (TM) 740 Driver Version: 2150252544 Device UUID: dd6bb207435100000000010a05430000 ======================================================= [vertex] device-local=true: FPS: 6518 FrameTime: 0.153 ms [vertex] device-local=false: FPS: 6636 FrameTime: 0.151 ms [texture] anisotropy=0: FPS: 5396 FrameTime: 0.185 ms [texture] anisotropy=16: FPS: 5340 FrameTime: 0.187 ms [shading] shading=gouraud: FPS: 5062 FrameTime: 0.198 ms [shading] shading=blinn-phong-inf: FPS: 5013 FrameTime: 0.199 ms [shading] shading=phong: FPS: 4768 FrameTime: 0.210 ms [shading] shading=cel: FPS: 4830 FrameTime: 0.207 ms [effect2d] kernel=edge: FPS: 6571 FrameTime: 0.152 ms [effect2d] kernel=blur: FPS: 3613 FrameTime: 0.277 ms [desktop] : FPS: 4985 FrameTime: 0.201 ms [cube] : FPS: 6290 FrameTime: 0.159 ms [clear] : FPS: 5791 FrameTime: 0.173 ms ======================================================= vkmark Score: 5447 ======================================================= ```

Xclipse 940 : vkmark Score: 6784

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x144D Device ID: 0x2600200 Device Name: Samsung Xclipse 940 Driver Version: 8388608 Device UUID: 35f18c726c2d5685ae5893b649517b92 ======================================================= [vertex] device-local=true: FPS: 7382 FrameTime: 0.135 ms [vertex] device-local=false: FPS: 7517 FrameTime: 0.133 ms [texture] anisotropy=0: FPS: 6797 FrameTime: 0.147 ms [texture] anisotropy=16: FPS: 6726 FrameTime: 0.149 ms [shading] shading=gouraud: FPS: 6628 FrameTime: 0.151 ms [shading] shading=blinn-phong-inf: FPS: 6660 FrameTime: 0.150 ms [shading] shading=phong: FPS: 6669 FrameTime: 0.150 ms [shading] shading=cel: FPS: 6664 FrameTime: 0.150 ms [effect2d] kernel=edge: FPS: 9038 FrameTime: 0.111 ms [effect2d] kernel=blur: FPS: 7897 FrameTime: 0.127 ms [desktop] : FPS: 4556 FrameTime: 0.219 ms [cube] : FPS: 5502 FrameTime: 0.182 ms [clear] : FPS: 6164 FrameTime: 0.162 ms ======================================================= vkmark Score: 6784 ======================================================= ```

Adreno 750 : vkmark Score: 6874

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43051401 Device Name: Adreno (TM) 750 Driver Version: 2150604812 Device UUID: fe731e01435100000000011405430000 ======================================================= [vertex] device-local=true: FPS: 7182 FrameTime: 0.139 ms [vertex] device-local=false: FPS: 6498 FrameTime: 0.154 ms [texture] anisotropy=0: FPS: 6838 FrameTime: 0.146 ms [texture] anisotropy=16: FPS: 7128 FrameTime: 0.140 ms [shading] shading=gouraud: FPS: 6820 FrameTime: 0.147 ms [shading] shading=blinn-phong-inf: FPS: 6837 FrameTime: 0.146 ms [shading] shading=phong: FPS: 6419 FrameTime: 0.156 ms [shading] shading=cel: FPS: 6152 FrameTime: 0.163 ms [effect2d] kernel=edge: FPS: 6282 FrameTime: 0.159 ms [effect2d] kernel=blur: FPS: 8647 FrameTime: 0.116 ms [desktop] : FPS: 6614 FrameTime: 0.151 ms [cube] : FPS: 7408 FrameTime: 0.135 ms [clear] : FPS: 6547 FrameTime: 0.153 ms ======================================================= vkmark Score: 6874 ======================================================= ```

xMeM commented 4 days ago

The vulkan-wsi-layer does not ensure the integrity of the image, so the benchmark score is higher, but the difference is not significant in scenes with higher GPU stress. vulkan-wsi-layer can be used with wrapper.

hansm629 commented 4 days ago

@xMeM Is there any chance that the performance differences between GPUs could be improved when using mesa-vulkan-icd-wrapper on its own? 😮 The performance ranking between GPUs should ideally be Adreno 750 as the highest, followed by Xclipse 940, Adreno 740, and then Adreno 650.

However, based on the measured results, Adreno 740 is showing the highest performance, while Xclipse 940 is measuring the lowest.😃

xMeM commented 4 days ago

Increase the resolution of vkmark (e.g. 4096x4096) and the scores will match the ranking. When the vkmark resolution is low, the score is affected by system scheduling.

hansm629 commented 4 days ago

@xMeM After work today, I’ll vkmark test again with high-resolution settings.😃

What potential issues might arise if mesa-vulkan-icd-wrapper and vulkan-wsi-layer are used simultaneously? Currently, the vkmark score is higher with vulkan-wsi-layer, but mesa-vulkan-icd-wrapper is more stable. I'm curious about the functioning priority if both are used together.

Trass3r commented 4 days ago

vulkan-wsi-layer can be used with wrapper.

What does the combination offer? Does the wrapper replace sysvk in that case?

xMeM commented 4 days ago

Does the wrapper replace sysvk in that case?

Yes

hansm629 commented 4 days ago

@xMeM I tested vkmark again with high-resolution settings on mesa-vulkan-icd-wrapper. This time, the Adreno 750 showed the lowest results.😮

Despite controlling variables properly and testing with the device at a cool temperature, the results were as follows.

Even in a high-resolution environment, it seems that the performance differences do not yet reflect the GPU specifications.

Could this be improved?😃

vkmark 2560x1440

Adreno 650 = Score: 641

``` ~$ vkmark --size 2560x1440 ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x6050002 Device Name: Adreno (TM) 650 Driver Version: 2149539840 Device UUID: eeb29301435100000000020005060000 ======================================================= [vertex] device-local=true: FPS: 750 FrameTime: 1.333 ms [vertex] device-local=false: FPS: 750 FrameTime: 1.333 ms [texture] anisotropy=0: FPS: 608 FrameTime: 1.645 ms [texture] anisotropy=16: FPS: 631 FrameTime: 1.585 ms [shading] shading=gouraud: FPS: 680 FrameTime: 1.471 ms [shading] shading=blinn-phong-inf: FPS: 679 FrameTime: 1.473 ms [shading] shading=phong: FPS: 640 FrameTime: 1.562 ms [shading] shading=cel: FPS: 631 FrameTime: 1.585 ms [effect2d] kernel=edge: FPS: 504 FrameTime: 1.984 ms [effect2d] kernel=blur: FPS: 417 FrameTime: 2.398 ms [desktop] : FPS: 586 FrameTime: 1.706 ms [cube] : FPS: 684 FrameTime: 1.462 ms [clear] : FPS: 780 FrameTime: 1.282 ms ======================================================= vkmark Score: 641 ======================================================= ```

Adreno 740 = Score: 588

``` ~$ vkmark --size 2560x1440 ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43050A01 Device Name: Adreno (TM) 740 Driver Version: 2150252544 Device UUID: dd6bb207435100000000010a05430000 ======================================================= [vertex] device-local=true: FPS: 538 FrameTime: 1.859 ms [vertex] device-local=false: FPS: 564 FrameTime: 1.773 ms [texture] anisotropy=0: FPS: 581 FrameTime: 1.721 ms [texture] anisotropy=16: FPS: 647 FrameTime: 1.546 ms [shading] shading=gouraud: FPS: 580 FrameTime: 1.724 ms [shading] shading=blinn-phong-inf: FPS: 572 FrameTime: 1.748 ms [shading] shading=phong: FPS: 557 FrameTime: 1.795 ms [shading] shading=cel: FPS: 559 FrameTime: 1.789 ms [effect2d] kernel=edge: FPS: 654 FrameTime: 1.529 ms [effect2d] kernel=blur: FPS: 455 FrameTime: 2.198 ms [desktop] : FPS: 609 FrameTime: 1.642 ms [cube] : FPS: 673 FrameTime: 1.486 ms [clear] : FPS: 662 FrameTime: 1.511 ms ======================================================= vkmark Score: 588 ======================================================= ```

Xclipse 940 = Score: 727

``` ~$ vkmark --size 2560x1440 ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x144D Device ID: 0x2600200 Device Name: Samsung Xclipse 940 Driver Version: 8388608 Device UUID: 35f18c726c2d5685ae5893b649517b92 ======================================================= [vertex] device-local=true: FPS: 731 FrameTime: 1.368 ms [vertex] device-local=false: FPS: 952 FrameTime: 1.050 ms [texture] anisotropy=0: FPS: 823 FrameTime: 1.215 ms [texture] anisotropy=16: FPS: 830 FrameTime: 1.205 ms [shading] shading=gouraud: FPS: 768 FrameTime: 1.302 ms [shading] shading=blinn-phong-inf: FPS: 756 FrameTime: 1.323 ms [shading] shading=phong: FPS: 762 FrameTime: 1.312 ms [shading] shading=cel: FPS: 758 FrameTime: 1.319 ms [effect2d] kernel=edge: FPS: 742 FrameTime: 1.348 ms [effect2d] kernel=blur: FPS: 638 FrameTime: 1.567 ms [desktop] : FPS: 503 FrameTime: 1.988 ms [cube] : FPS: 600 FrameTime: 1.667 ms [clear] : FPS: 592 FrameTime: 1.689 ms ======================================================= vkmark Score: 727 ======================================================= ```

Adreno 750 = Score: 508

``` ~$ vkmark --size 2560x1440 ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43051401 Device Name: Adreno (TM) 750 Driver Version: 2150604812 Device UUID: fe731e01435100000000011405430000 ======================================================= [vertex] device-local=true: FPS: 581 FrameTime: 1.721 ms [vertex] device-local=false: FPS: 580 FrameTime: 1.724 ms [texture] anisotropy=0: FPS: 507 FrameTime: 1.972 ms [texture] anisotropy=16: FPS: 508 FrameTime: 1.969 ms [shading] shading=gouraud: FPS: 492 FrameTime: 2.033 ms [shading] shading=blinn-phong-inf: FPS: 509 FrameTime: 1.965 ms [shading] shading=phong: FPS: 495 FrameTime: 2.020 ms [shading] shading=cel: FPS: 467 FrameTime: 2.141 ms [effect2d] kernel=edge: FPS: 541 FrameTime: 1.848 ms [effect2d] kernel=blur: FPS: 332 FrameTime: 3.012 ms [desktop] : FPS: 513 FrameTime: 1.949 ms [cube] : FPS: 511 FrameTime: 1.957 ms [clear] : FPS: 574 FrameTime: 1.742 ms ======================================================= vkmark Score: 508 ======================================================= ```

vkmark 3840x2160

Adreno 650 = Score: 295

``` ~$ vkmark --size 3840x2160 ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x6050002 Device Name: Adreno (TM) 650 Driver Version: 2149539840 Device UUID: eeb29301435100000000020005060000 ======================================================= [vertex] device-local=true: FPS: 324 FrameTime: 3.086 ms [vertex] device-local=false: FPS: 324 FrameTime: 3.086 ms [texture] anisotropy=0: FPS: 278 FrameTime: 3.597 ms [texture] anisotropy=16: FPS: 278 FrameTime: 3.597 ms [shading] shading=gouraud: FPS: 305 FrameTime: 3.279 ms [shading] shading=blinn-phong-inf: FPS: 304 FrameTime: 3.289 ms [shading] shading=phong: FPS: 288 FrameTime: 3.472 ms [shading] shading=cel: FPS: 284 FrameTime: 3.521 ms [effect2d] kernel=edge: FPS: 291 FrameTime: 3.436 ms [effect2d] kernel=blur: FPS: 193 FrameTime: 5.181 ms [desktop] : FPS: 250 FrameTime: 4.000 ms [cube] : FPS: 348 FrameTime: 2.874 ms [clear] : FPS: 372 FrameTime: 2.688 ms ======================================================= vkmark Score: 295 ======================================================= ```

Adreno 740 = Score: 312

``` ~$ vkmark --size 3840x2160 ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43050A01 Device Name: Adreno (TM) 740 Driver Version: 2150252544 Device UUID: dd6bb207435100000000010a05430000 ======================================================= [vertex] device-local=true: FPS: 340 FrameTime: 2.941 ms [vertex] device-local=false: FPS: 345 FrameTime: 2.899 ms [texture] anisotropy=0: FPS: 303 FrameTime: 3.300 ms [texture] anisotropy=16: FPS: 302 FrameTime: 3.311 ms [shading] shading=gouraud: FPS: 299 FrameTime: 3.344 ms [shading] shading=blinn-phong-inf: FPS: 309 FrameTime: 3.236 ms [shading] shading=phong: FPS: 333 FrameTime: 3.003 ms [shading] shading=cel: FPS: 332 FrameTime: 3.012 ms [effect2d] kernel=edge: FPS: 383 FrameTime: 2.611 ms [effect2d] kernel=blur: FPS: 270 FrameTime: 3.704 ms [desktop] : FPS: 296 FrameTime: 3.378 ms [cube] : FPS: 291 FrameTime: 3.436 ms [clear] : FPS: 262 FrameTime: 3.817 ms ======================================================= vkmark Score: 312 ======================================================= ```

Xclipse 940 = Score: 425

``` ~$ vkmark --size 3840x2160 ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x144D Device ID: 0x2600200 Device Name: Samsung Xclipse 940 Driver Version: 8388608 Device UUID: 35f18c726c2d5685ae5893b649517b92 ======================================================= [vertex] device-local=true: FPS: 331 FrameTime: 3.021 ms [vertex] device-local=false: FPS: 381 FrameTime: 2.625 ms [texture] anisotropy=0: FPS: 369 FrameTime: 2.710 ms [texture] anisotropy=16: FPS: 420 FrameTime: 2.381 ms [shading] shading=gouraud: FPS: 434 FrameTime: 2.304 ms [shading] shading=blinn-phong-inf: FPS: 434 FrameTime: 2.304 ms [shading] shading=phong: FPS: 438 FrameTime: 2.283 ms [shading] shading=cel: FPS: 434 FrameTime: 2.304 ms [effect2d] kernel=edge: FPS: 511 FrameTime: 1.957 ms [effect2d] kernel=blur: FPS: 453 FrameTime: 2.208 ms [desktop] : FPS: 372 FrameTime: 2.688 ms [cube] : FPS: 454 FrameTime: 2.203 ms [clear] : FPS: 498 FrameTime: 2.008 ms ======================================================= vkmark Score: 425 ======================================================= ```

Adreno 750 = Score: 282

``` ~$ vkmark --size 3840x2160 ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43051401 Device Name: Adreno (TM) 750 Driver Version: 2150604812 Device UUID: fe731e01435100000000011405430000 ======================================================= [vertex] device-local=true: FPS: 294 FrameTime: 3.401 ms [vertex] device-local=false: FPS: 306 FrameTime: 3.268 ms [texture] anisotropy=0: FPS: 270 FrameTime: 3.704 ms [texture] anisotropy=16: FPS: 305 FrameTime: 3.279 ms [shading] shading=gouraud: FPS: 268 FrameTime: 3.731 ms [shading] shading=blinn-phong-inf: FPS: 257 FrameTime: 3.891 ms [shading] shading=phong: FPS: 256 FrameTime: 3.906 ms [shading] shading=cel: FPS: 259 FrameTime: 3.861 ms [effect2d] kernel=edge: FPS: 334 FrameTime: 2.994 ms [effect2d] kernel=blur: FPS: 216 FrameTime: 4.630 ms [desktop] : FPS: 274 FrameTime: 3.650 ms [cube] : FPS: 300 FrameTime: 3.333 ms [clear] : FPS: 339 FrameTime: 2.950 ms ======================================================= vkmark Score: 282 ======================================================= ```

hansm629 commented 4 days ago

@xMeM I also tested vkmark with high-resolution settings using vulkan-wsi-layer, and for Adreno series GPU, the results were about 3.5x higher compared to the high-resolution results with mesa-vulkan-icd-wrapper.

In these results, the performance differences reflected the actual scale of the GPU specifications.

For Xclipse series GPU, vkmark displayed a black screen on vulkan-wsi-layer at resolutions above 800x600, so accurate measurement was not possible.😢

xMeM commented 4 days ago

https://github.com/xMeM/termux-packages/actions/runs/11801252552 @hansm629 Ok, I added an option to skip the sync wait. MESA_VK_WSI_DEBUG=nosync

hansm629 commented 4 days ago

@xMeM

Excellent! Starting from the latest build, adding the MESA_VK_WSI_DEBUG=nosync environment variable in vkmark allows the Xclipse 940 GPU to achieve performance that matches its actual specifications!

I’ll test other GPUs in detail and provide further comments!😁

~$ MESA_VK_WSI_DEBUG=nosync vkmark
=======================================================
    vkmark 2017.08
=======================================================
    Vendor ID:      0x144D
    Device ID:      0x2600200
    Device Name:    Samsung Xclipse 940
    Driver Version: 8388608
    Device UUID:    35f18c726c2d5685ae5893b649517b92
=======================================================
[vertex] device-local=true: FPS: 6877 FrameTime: 0.145 ms
[vertex] device-local=false: FPS: 7083 FrameTime: 0.141 ms
[texture] anisotropy=0: FPS: 6476 FrameTime: 0.154 ms
[texture] anisotropy=16: FPS: 6489 FrameTime: 0.154 ms
[shading] shading=gouraud: FPS: 5172 FrameTime: 0.193 ms
[shading] shading=blinn-phong-inf: FPS: 3351 FrameTime: 0.298 ms
[shading] shading=phong: FPS: 3221 FrameTime: 0.310 ms
[shading] shading=cel: FPS: 3375 FrameTime: 0.296 ms
[effect2d] kernel=edge: FPS: 6596 FrameTime: 0.152 ms
[effect2d] kernel=blur: FPS: 6314 FrameTime: 0.158 ms
[desktop] <default>: FPS: 2248 FrameTime: 0.445 ms
[cube] <default>: FPS: 4598 FrameTime: 0.217 ms
[clear] <default>: FPS: 6301 FrameTime: 0.159 ms
=======================================================
                                   vkmark Score: 5238
=======================================================
Trass3r commented 3 days ago

vulkan-wsi-layer can be used with wrapper.

Tested with the latest version but didn't work for me, all sorts of issues. https://github.com/Trass3r/termux-packages/actions/runs/11807612634

hansm629 commented 3 days ago

@Trass3r

The vulkan-wsi-layer_0.0.1-r108.795f9a7-0_aarch64.deb I mentioned above works together with mesa-vulkan-icd-wrapper.

However, it seems that the latest build of vulkan-wsi-layer is not working for me.

~$ vkcube
Selected WSI platform: xcb
Selected GPU 0: Adreno (TM) 740, type: IntegratedGpu
ERROR(/home/builder/.termux-build/vulkan-wsi-layer/src/wsi/swapchain_base.cpp:323): init_platform(device, swapchain_create_info, use_presentation_thread)
ERROR(/home/builder/.termux-build/vulkan-wsi-layer/src/layer/swapchain_api.cpp:65): Failed to initialise swapchain
Segmentation fault

~$ vkmark
ERROR(/home/builder/.termux-build/vulkan-wsi-layer/src/wsi/swapchain_base.cpp:323): init_platform(device, swapchain_create_info, use_presentation_thread)
ERROR(/home/builder/.termux-build/vulkan-wsi-layer/src/layer/swapchain_api.cpp:65): Failed to initialise swapchain
Error: vk::Device::createSwapchainKHR: ErrorInitializationFailed
astroskyoffical commented 3 days ago

Wait are we suppose to use the layer and the wrapper? What benefits do we get from using both?

hansm629 commented 3 days ago

@astroskyoffical no need for that then.

hansm629 commented 3 days ago

@xMeM In the latest build, I re-tested vkmark with the MESA_VK_WSI_DEBUG=nosync and MESA_VK_WSI_PRESENT_MODE=mailbox environment variables added.

The results for the Adreno series GPU were excellent, reflecting performance that aligns with their actual GPU specifications and showing differences proportional to the spec variations.

Interestingly, the Xclipse 940 GPU recorded lower performance than the Adreno 740 GPU, likely due to differences in hardware scheduling and Android host Vulkan driver optimizations.

The Adreno 750 results were truly impressive, reaching 80-90% of the vkmark performance seen with the Sony PS4 Pro using the mesa RADV driver.

Since the performance aspect seems nearly perfect, I’ll update my issue report accordingly soon!😃

@paulowesll Have you tested hangover-wine with the above environment variables applied in the latest version?

vkmark result

Adreno 650 = Score: 3936

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x6050002 Device Name: Adreno (TM) 650 Driver Version: 2149539840 Device UUID: eeb29301435100000000020005060000 ======================================================= [vertex] device-local=true: FPS: 5546 FrameTime: 0.180 ms [vertex] device-local=false: FPS: 4485 FrameTime: 0.223 ms [texture] anisotropy=0: FPS: 4584 FrameTime: 0.218 ms [texture] anisotropy=16: FPS: 4507 FrameTime: 0.222 ms [shading] shading=gouraud: FPS: 4120 FrameTime: 0.243 ms [shading] shading=blinn-phong-inf: FPS: 3972 FrameTime: 0.252 ms [shading] shading=phong: FPS: 3672 FrameTime: 0.272 ms [shading] shading=cel: FPS: 3540 FrameTime: 0.282 ms [effect2d] kernel=edge: FPS: 3197 FrameTime: 0.313 ms [effect2d] kernel=blur: FPS: 2419 FrameTime: 0.413 ms [desktop] : FPS: 3280 FrameTime: 0.305 ms [cube] : FPS: 4014 FrameTime: 0.249 ms [clear] : FPS: 3834 FrameTime: 0.261 ms ======================================================= vkmark Score: 3936 ======================================================= ```

Xclipse 940 = Score: 5897

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x144D Device ID: 0x2600200 Device Name: Samsung Xclipse 940 Driver Version: 8388608 Device UUID: 35f18c726c2d5685ae5893b649517b92 ======================================================= [vertex] device-local=true: FPS: 6322 FrameTime: 0.158 ms [vertex] device-local=false: FPS: 6494 FrameTime: 0.154 ms [texture] anisotropy=0: FPS: 6258 FrameTime: 0.160 ms [texture] anisotropy=16: FPS: 6316 FrameTime: 0.158 ms [shading] shading=gouraud: FPS: 5212 FrameTime: 0.192 ms [shading] shading=blinn-phong-inf: FPS: 5511 FrameTime: 0.181 ms [shading] shading=phong: FPS: 5517 FrameTime: 0.181 ms [shading] shading=cel: FPS: 5495 FrameTime: 0.182 ms [effect2d] kernel=edge: FPS: 6824 FrameTime: 0.147 ms [effect2d] kernel=blur: FPS: 6188 FrameTime: 0.162 ms [desktop] : FPS: 4237 FrameTime: 0.236 ms [cube] : FPS: 5847 FrameTime: 0.171 ms [clear] : FPS: 6445 FrameTime: 0.155 ms ======================================================= vkmark Score: 5897 ======================================================= ```

Adreno 740 = Score: 7990

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43050A01 Device Name: Adreno (TM) 740 Driver Version: 2150252544 Device UUID: dd6bb207435100000000010a05430000 ======================================================= [vertex] device-local=true: FPS: 6631 FrameTime: 0.151 ms [vertex] device-local=false: FPS: 8091 FrameTime: 0.124 ms [texture] anisotropy=0: FPS: 8610 FrameTime: 0.116 ms [texture] anisotropy=16: FPS: 9764 FrameTime: 0.102 ms [shading] shading=gouraud: FPS: 8851 FrameTime: 0.113 ms [shading] shading=blinn-phong-inf: FPS: 8204 FrameTime: 0.122 ms [shading] shading=phong: FPS: 5725 FrameTime: 0.175 ms [shading] shading=cel: FPS: 6845 FrameTime: 0.146 ms [effect2d] kernel=edge: FPS: 9067 FrameTime: 0.110 ms [effect2d] kernel=blur: FPS: 5395 FrameTime: 0.185 ms [desktop] : FPS: 8272 FrameTime: 0.121 ms [cube] : FPS: 10752 FrameTime: 0.093 ms [clear] : FPS: 7673 FrameTime: 0.130 ms ======================================================= vkmark Score: 7990 ======================================================= ```

Adreno 750 = Score: 10179

``` ~$ vkmark ======================================================= vkmark 2017.08 ======================================================= Vendor ID: 0x5143 Device ID: 0x43051401 Device Name: Adreno (TM) 750 Driver Version: 2150604812 Device UUID: fe731e01435100000000011405430000 ======================================================= [vertex] device-local=true: FPS: 8735 FrameTime: 0.114 ms [vertex] device-local=false: FPS: 9584 FrameTime: 0.104 ms [texture] anisotropy=0: FPS: 10870 FrameTime: 0.092 ms [texture] anisotropy=16: FPS: 9940 FrameTime: 0.101 ms [shading] shading=gouraud: FPS: 10808 FrameTime: 0.093 ms [shading] shading=blinn-phong-inf: FPS: 10977 FrameTime: 0.091 ms [shading] shading=phong: FPS: 11315 FrameTime: 0.088 ms [shading] shading=cel: FPS: 11274 FrameTime: 0.089 ms [effect2d] kernel=edge: FPS: 10752 FrameTime: 0.093 ms [effect2d] kernel=blur: FPS: 9365 FrameTime: 0.107 ms [desktop] : FPS: 10063 FrameTime: 0.099 ms [cube] : FPS: 9758 FrameTime: 0.102 ms [clear] : FPS: 8893 FrameTime: 0.112 ms ======================================================= vkmark Score: 10179 ======================================================= ```

xMeM commented 3 days ago

There will be no performance improvements in games.

astroskyoffical commented 3 days ago

There will be no performance improvements in games.

How so? Vulkan games should improve no? Doom 2016 for example

astroskyoffical commented 3 days ago

Here's an example of prop drivers vs turinp Screenshot_20241113_133708_Discord Screenshot_20241113_133701_Discord

Hangover wine

paulowesll commented 2 days ago

@hansm629 with the var MESA_VK_WSI_DEBUG=nosync there some problems with games, it keep freezing and there's no performance improvements.

https://github.com/user-attachments/assets/6723d8e8-bef3-4700-81d9-38a087f8d095

hansm629 commented 2 days ago

@paulowesll The flickering issue was also observed in vkmark [Clear] test, so it may be related to that. I'll report this issue separately.

Does everything work well without issues when the MESA_VK_WSI_DEBUG=nosync environment variable is not applied?

I would like to test as well, but I haven’t been able to install wine-mono on hangover-wine, and I haven’t succeeded in installing any program other than notepad++ 32bit.

hansm629 commented 2 days ago

@astroskyoffical The performance difference between the mesa turnip driver and the Android host Vulkan driver (with mesa-vulkan-icd-wrapper) is:

This is a substantial difference, and it seems there’s little reason to continue using the mesa turnip driver.

Is there also a performance difference depending on whether the MESA_VK_WSI_DEBUG=nosync environment variable is applied?

xMeM commented 2 days ago

The vkmark score does not represent the actual performance. Turnip also has a high vkmark score in Wayland.

~ $ WAYLAND_DISPLAY=wayland-1 VK_ICD_FILENAMES=$PREFIX/share/vulkan/icd.d/freedreno_icd.aarch64.json vkmark
=======================================================
    vkmark 2017.08
=======================================================
    Vendor ID:      0x5143
    Device ID:      0x43050A01
    Device Name:    Turnip Adreno (TM) 740
    Driver Version: 100671587
    Device UUID:    61a5e19bcbc4e6b4ee5025a3a30ae773
=======================================================
[vertex] device-local=true: FPS: 6933 FrameTime: 0.144 ms
[vertex] device-local=false: FPS: 6574 FrameTime: 0.152 ms
[texture] anisotropy=0: FPS: 7047 FrameTime: 0.142 ms
[texture] anisotropy=16: FPS: 7943 FrameTime: 0.126 ms
[shading] shading=gouraud: FPS: 9042 FrameTime: 0.111 ms
[shading] shading=blinn-phong-inf: FPS: 9354 FrameTime: 0.107 ms
[shading] shading=phong: FPS: 7869 FrameTime: 0.127 ms
[shading] shading=cel: FPS: 9353 FrameTime: 0.107 ms
[effect2d] kernel=edge: FPS: 6121 FrameTime: 0.163 ms
[effect2d] kernel=blur: FPS: 6822 FrameTime: 0.147 ms
[desktop] <default>: FPS: 6668 FrameTime: 0.150 ms
[cube] <default>: FPS: 8475 FrameTime: 0.118 ms
[clear] <default>: FPS: 8008 FrameTime: 0.125 ms
=======================================================
                                   vkmark Score: 7708
=======================================================
hansm629 commented 2 days ago

@xMeM Wow! I didn't realize that such a vkmark score was achievable even with the mesa turnip driver. (With mesa-vulkan-icd-wrapper, it's possible to reach up to 8400 score, so the host Vulkan driver still seems to have higher performance.)

As you mentioned, it seems more appropriate to use vkmark not for comparing gaming performance but rather for assessing performance gaps between GPUs and ensuring that the Vulkan APIis functioning properly!😃

Trass3r commented 2 days ago

@xMeM what kind of Wayland setup is that? Is it related to your https://github.com/xMeM/wlroots-termux efforts? It's so hard to keep an overview over all the options.

paulowesll commented 2 days ago

@paulowesll The flickering issue was also observed in vkmark [Clear] test, so it may be related to that. I'll report this issue separately.

Does everything work well without issues when the MESA_VK_WSI_DEBUG=nosync environment variable is not applied?

I would like to test as well, but I haven’t been able to install wine-mono on hangover-wine, and I haven’t succeeded in installing any program other than notepad++ 32bit.

tested same game without the MESA_VK_WSI_DEBUG=nosync it's fine, no flickering and it's same performance.