Commit 467e5ea
Jonah Williams
[Impeller] Don't decompress into device buffer for Vulkan/GLES. (flutter#43493)
My observations on the Pixel 6 device are that performing device allocations from multiple threads can dramatically slow down the raster task workload. As a stopgap solution, we can adjust image upload to only touch the device allocator on the IO thread which reduces the parallel access.
This doesn't have any impact on the S10, but locally on the Pixel 6 it is a night and day difference. I am testing using jonahwilliams/forked_gallery and navigating to the Reply demo. This demo has a large number of images, several of which are quite large.
Work towards flutter#129392
### Before
Page transition is ~4 frames.

### After
Page transition is ~20 frames.
1 parent 7d054ab commit 467e5ea
4 files changed
Lines changed: 59 additions & 11 deletions
File tree
- lib/ui/painting
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
35 | 71 | | |
36 | 72 | | |
37 | 73 | | |
| |||
336 | 372 | | |
337 | 373 | | |
338 | 374 | | |
339 | | - | |
340 | | - | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
341 | 379 | | |
342 | 380 | | |
343 | 381 | | |
344 | 382 | | |
345 | 383 | | |
346 | | - | |
| 384 | + | |
347 | 385 | | |
348 | 386 | | |
349 | 387 | | |
| 388 | + | |
350 | 389 | | |
351 | 390 | | |
352 | 391 | | |
| |||
366 | 405 | | |
367 | 406 | | |
368 | 407 | | |
369 | | - | |
| 408 | + | |
370 | 409 | | |
371 | 410 | | |
372 | 411 | | |
| |||
483 | 522 | | |
484 | 523 | | |
485 | 524 | | |
486 | | - | |
| 525 | + | |
| 526 | + | |
487 | 527 | | |
488 | 528 | | |
489 | 529 | | |
490 | 530 | | |
491 | 531 | | |
492 | | - | |
| 532 | + | |
493 | 533 | | |
| 534 | + | |
494 | 535 | | |
495 | 536 | | |
496 | 537 | | |
| |||
525 | 566 | | |
526 | 567 | | |
527 | 568 | | |
528 | | - | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
529 | 573 | | |
530 | 574 | | |
531 | 575 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
90 | 91 | | |
91 | 92 | | |
92 | 93 | | |
93 | | - | |
| 94 | + | |
94 | 95 | | |
95 | 96 | | |
96 | 97 | | |
| 98 | + | |
97 | 99 | | |
98 | 100 | | |
99 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
455 | 455 | | |
456 | 456 | | |
457 | 457 | | |
458 | | - | |
459 | | - | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
460 | 461 | | |
461 | 462 | | |
462 | 463 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
150 | | - | |
| 150 | + | |
151 | 151 | | |
152 | 152 | | |
| 153 | + | |
153 | 154 | | |
154 | 155 | | |
155 | 156 | | |
| |||
0 commit comments