Skip to content

Conversation

Firestar99
Copy link
Collaborator

@Firestar99 Firestar99 commented Sep 7, 2025

Issue:

Pasting a 720p image (isometric fountain exported as png) causes excessive CPU utilization and allocator pressure on dev, has caused a wgpu OOM error (not shown here). Same firefox nightly in different tabs.

This is a fix towards that by explicitly destroying wgpu images instead of waiting for js gc to do it for us. However, it currently breaks the vello renderer when used with GPU nodes.

@TrueDoctor
Copy link
Member

Any ideas on why this might break vello? Do the textures potentially get destroyed twice when handing them off to vello?

@Firestar99
Copy link
Collaborator Author

Firestar99 commented Sep 7, 2025

No, they get destroyed before they are rendered in vello. So vello has no texture left to read from, aka reads border color white.

@TrueDoctor
Copy link
Member

Yes I mean does deconstructing the Raster destroy the texture or something like that?

@Firestar99
Copy link
Collaborator Author

Firestar99 commented Sep 7, 2025

I don't exactly understand how you're passing data from one node to another, seems to be a lot of cloning going on...

But basically, we'd just need vello to "strongly reference" the Raster<GPU> instead of the wgpu::Texture so destroy isn't called before it's finished submitting it's draw commands (since wgpu will delay the destruction until all queued ops are finished with the images.)

@TrueDoctor
Copy link
Member

How does this work with caching? Cache nodes are allowed to clone the data that flows through them, wouldn't this lead to some sort of double free?

@Firestar99
Copy link
Collaborator Author

I always think of wgpu::Textures as if they're an Arc internally, when they're clearly not...

@Firestar99 Firestar99 force-pushed the shaders_texture_destroy branch from ecb4fe2 to e9a8d4f Compare September 7, 2025 18:38
@Firestar99
Copy link
Collaborator Author

wrapped the wgpu texture in an Arc, may work, haven't tested it due to constant build failures...

Copy link

github-actions bot commented Sep 7, 2025

Performance Benchmark Results

🔧 Graph Compilation

compile_demo_art_iai::compile_group::compile_to_proto with_setup_0:load_from_name(isometric-fountain)
Instructions: 27,332,022 (master) → 27,361,766 (HEAD) : $$\color{red}+0.11\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.06%
D1mr                     344,247|    343,974          -0.08%
D1mw                     107,410|    107,635          +0.21%
DLmr                      30,379|     30,422          +0.14%
DLmw                      47,777|     40,889         -14.42%
Dr                     6,760,080|  6,764,446          +0.06%
Dw                     4,732,860|  4,734,397          +0.03%
EstimatedCycles       43,166,086| 43,026,101          -0.32%
I1MissRate                     0|          0         +18.40%
I1mr                      40,974|     48,564         +18.52%
ILmr                         864|        849          -1.74%
Ir                    27,332,022| 27,361,766          +0.11%
L1HitRate                     99|         99          -0.02%
L1hits                38,332,331| 38,360,436          +0.07%
LLHitRate                      1|          1          +3.39%
LLMissRate                     0|          0          -8.77%
LLdMissRate                    1|          1          -8.80%
LLhits                   413,611|    428,013          +3.48%
LLiMissRate                    0|          0          -1.84%
RamHitRate                     0|          0          -8.77%
RamHits                   79,020|     72,160          -8.68%
TotalRW               38,824,962| 38,860,609          +0.09%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_1:load_from_name(painted-dreams)
Instructions: 13,771,360 (master) → 13,771,573 (HEAD) : $$\color{red}+0.00\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.16%
D1mr                     162,732|    162,449          -0.17%
D1mw                      48,116|     48,057          -0.12%
DLmr                         694|        602         -13.26%
DLmw                      11,578|     11,217          -3.12%
Dr                     3,415,385|  3,415,402          +0.00%
Dw                     2,378,833|  2,378,768          -0.00%
EstimatedCycles       20,878,796| 20,878,561          -0.00%
I1MissRate                     0|          0         +18.41%
I1mr                      20,054|     23,746         +18.41%
ILmr                         715|        708          -0.98%
Ir                    13,771,360| 13,771,573          +0.00%
L1HitRate                     99|         99          -0.02%
L1hits                19,334,676| 19,331,491          -0.02%
LLHitRate                      1|          1          +1.75%
LLMissRate                     0|          0          -3.54%
LLdMissRate                    0|          0          -3.69%
LLhits                   217,915|    221,725          +1.75%
LLiMissRate                    0|          0          -0.98%
RamHitRate                     0|          0          -3.54%
RamHits                   12,987|     12,527          -3.54%
TotalRW               19,565,578| 19,565,743          +0.00%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_2:load_from_name(procedural-string-lights)
Instructions: 2,273,053 (master) → 3,075,361 (HEAD) : $$\color{red}+35.30\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          +2.12%
D1mr                      23,057|     36,068         +56.43%
D1mw                      10,211|     10,712          +4.91%
DLmr                          16|         14         -12.50%
DLmw                       2,708|      2,882          +6.43%
Dr                       537,853|    750,021         +39.45%
Dw                       387,851|    524,608         +35.26%
EstimatedCycles        3,452,171|  4,664,764         +35.13%
I1MissRate                     0|          0         -16.11%
I1mr                       4,428|      5,026         +13.50%
ILmr                         697|        689          -1.15%
Ir                     2,273,053|  3,075,361         +35.30%
L1HitRate                     99|         99          -0.01%
L1hits                 3,161,061|  4,298,184         +35.97%
LLHitRate                      1|          1          +3.46%
LLMissRate                     0|          0         -22.94%
LLdMissRate                    0|          0         -22.79%
LLhits                    34,275|     48,221         +40.69%
LLiMissRate                    0|          0         -26.94%
RamHitRate                     0|          0         -22.94%
RamHits                    3,421|      3,585          +4.79%
TotalRW                3,198,757|  4,349,990         +35.99%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_3:load_from_name(parametric-dunescape)
Instructions: 13,613,448 (master) → 13,606,569 (HEAD) : $$\color{lime}-0.05\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.11%
D1mr                     171,578|    171,060          -0.30%
D1mw                      49,338|     49,493          +0.31%
DLmr                          58|         73         +25.86%
DLmw                      10,414|     10,659          +2.35%
Dr                     3,331,005|  3,328,935          -0.06%
Dw                     2,347,764|  2,346,821          -0.04%
EstimatedCycles       20,580,373| 20,587,515          +0.03%
I1MissRate                     0|          0         +16.53%
I1mr                      16,448|     19,157         +16.47%
ILmr                         818|        813          -0.61%
Ir                    13,613,448| 13,606,569          -0.05%
L1HitRate                     99|         99          -0.01%
L1hits                19,054,853| 19,042,615          -0.06%
LLHitRate                      1|          1          +0.98%
LLMissRate                     0|          0          +2.31%
LLdMissRate                    0|          0          +2.54%
LLhits                   226,074|    228,165          +0.92%
LLiMissRate                    0|          0          -0.56%
RamHitRate                     0|          0          +2.31%
RamHits                   11,290|     11,545          +2.26%
TotalRW               19,292,217| 19,282,325          -0.05%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_4:load_from_name(red-dress)
Instructions: 32,030,139 (master) → 32,139,896 (HEAD) : $$\color{red}+0.34\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          -0.03%
D1mr                     405,940|    405,940          +0.00%
D1mw                     123,339|    124,222          +0.72%
DLmr                      42,381|     42,384          +0.01%
DLmw                      51,041|     51,788          +1.46%
Dr                     7,900,706|  7,918,253          +0.22%
Dw                     5,539,527|  5,548,571          +0.16%
EstimatedCycles       50,598,296| 50,791,886          +0.38%
I1MissRate                     0|          0         +16.92%
I1mr                      45,602|     53,502         +17.32%
ILmr                         858|        845          -1.52%
Ir                    32,030,139| 32,139,896          +0.34%
L1HitRate                     99|         99          -0.02%
L1hits                44,895,491| 45,023,056          +0.28%
LLHitRate                      1|          1          +1.37%
LLMissRate                     0|          0          +0.48%
LLdMissRate                    1|          1          +0.60%
LLhits                   480,601|    488,647          +1.67%
LLiMissRate                    0|          0          -1.85%
RamHitRate                     0|          0          +0.48%
RamHits                   94,280|     95,017          +0.78%
TotalRW               45,470,372| 45,606,720          +0.30%

compile_demo_art_iai::compile_group::compile_to_proto with_setup_5:load_from_name(valley-of-spires)
Instructions: 21,092,298 (master) → 21,110,707 (HEAD) : $$\color{red}+0.09\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     4|          4          +0.07%
D1mr                     260,889|    261,223          +0.13%
D1mw                      77,270|     77,390          +0.16%
DLmr                      15,043|     14,911          -0.88%
DLmw                      37,315|     37,237          -0.21%
Dr                     5,220,495|  5,223,656          +0.06%
Dw                     3,651,621|  3,653,934          +0.06%
EstimatedCycles       33,035,176| 33,074,653          +0.12%
I1MissRate                     0|          0         +16.40%
I1mr                      30,824|     35,911         +16.50%
ILmr                         803|        794          -1.12%
Ir                    21,092,298| 21,110,707          +0.09%
L1HitRate                     99|         99          -0.02%
L1hits                29,595,431| 29,613,773          +0.06%
LLHitRate                      1|          1          +1.74%
LLMissRate                     0|          0          -0.49%
LLdMissRate                    1|          1          -0.46%
LLhits                   315,822|    321,582          +1.82%
LLiMissRate                    0|          0          -1.21%
RamHitRate                     0|          0          -0.49%
RamHits                   53,161|     52,942          -0.41%
TotalRW               29,964,414| 29,988,297          +0.08%

🔄 Executor Update

update_executor_iai::update_group::update_executor with_setup_0:setup_update_executor(isometric-fountain)
Instructions: 40,820,369 (master) → 40,835,044 (HEAD) : $$\color{red}+0.04\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +0.70%
D1mr                     449,302|    454,156          +1.08%
D1mw                      98,709|     98,058          -0.66%
DLmr                       9,871|      9,095          -7.86%
DLmw                      24,914|     25,431          +2.08%
Dr                    10,361,317| 10,365,549          +0.04%
Dw                     6,987,248|  6,994,334          +0.10%
EstimatedCycles       61,612,386| 61,569,455          -0.07%
I1MissRate                     0|          0         -38.86%
I1mr                      50,202|     30,703         -38.84%
ILmr                         235|        236          +0.43%
Ir                    40,820,369| 40,835,044          +0.04%
L1HitRate                     99|         99          +0.03%
L1hits                57,570,721| 57,612,010          +0.07%
LLHitRate                      1|          1          -2.71%
LLMissRate                     0|          0          -0.78%
LLdMissRate                    0|          0          -0.81%
LLhits                   563,193|    548,155          -2.67%
LLiMissRate                    0|          0          +0.39%
RamHitRate                     0|          0          -0.78%
RamHits                   35,020|     34,762          -0.74%
TotalRW               58,168,934| 58,194,927          +0.04%

update_executor_iai::update_group::update_executor with_setup_1:setup_update_executor(painted-dreams)
Instructions: 21,481,350 (master) → 21,488,358 (HEAD) : $$\color{red}+0.03\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +1.78%
D1mr                     229,848|    233,953          +1.79%
D1mw                      49,361|     50,331          +1.97%
DLmr                       1,035|        998          -3.57%
DLmw                      12,111|     12,355          +2.01%
Dr                     5,452,022|  5,453,054          +0.02%
Dw                     3,669,946|  3,672,620          +0.07%
EstimatedCycles       32,239,222| 32,224,810          -0.04%
I1MissRate                     0|          0         -43.56%
I1mr                      29,612|     16,718         -43.54%
ILmr                         208|        206          -0.96%
Ir                    21,481,350| 21,488,358          +0.03%
L1HitRate                     99|         99          +0.03%
L1hits                30,294,497| 30,313,030          +0.06%
LLHitRate                      1|          1          -2.75%
LLMissRate                     0|          0          +1.50%
LLdMissRate                    0|          0          +1.53%
LLhits                   295,467|    287,443          -2.72%
LLiMissRate                    0|          0          -0.99%
RamHitRate                     0|          0          +1.50%
RamHits                   13,354|     13,559          +1.54%
TotalRW               30,603,318| 30,614,032          +0.04%

update_executor_iai::update_group::update_executor with_setup_2:setup_update_executor(procedural-string-lights)
Instructions: 4,997,969 (master) → 4,995,248 (HEAD) : $$\color{lime}-0.05\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +1.47%
D1mr                      52,478|     53,106          +1.20%
D1mw                      11,715|     12,024          +2.64%
DLmr                           3|          3          +0.00%
DLmw                         426|        758         +77.93%
Dr                     1,262,436|  1,261,681          -0.06%
Dw                       851,700|    852,203          +0.06%
EstimatedCycles        7,415,405|  7,417,606          +0.03%
I1MissRate                     0|          0         -30.96%
I1mr                       6,907|      4,766         -31.00%
ILmr                         201|        202          +0.50%
Ir                     4,997,969|  4,995,248          -0.05%
L1HitRate                     99|         99          +0.02%
L1hits                 7,041,005|  7,039,236          -0.03%
LLHitRate                      1|          1          -2.14%
LLMissRate                     0|          0         +52.92%
LLdMissRate                    0|          0         +77.41%
LLhits                    70,470|     68,933          -2.18%
LLiMissRate                    0|          0          +0.55%
RamHitRate                     0|          0         +52.92%
RamHits                      630|        963         +52.86%
TotalRW                7,112,105|  7,109,132          -0.04%

update_executor_iai::update_group::update_executor with_setup_3:setup_update_executor(parametric-dunescape)
Instructions: 17,558,447 (master) → 17,560,868 (HEAD) : $$\color{red}+0.01\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +0.89%
D1mr                     181,948|    183,528          +0.87%
D1mw                      43,855|     44,361          +1.15%
DLmr                         129|        122          -5.43%
DLmw                       4,448|      5,231         +17.60%
Dr                     4,429,658|  4,430,335          +0.02%
Dw                     3,022,482|  3,024,238          +0.06%
EstimatedCycles       26,133,933| 26,143,215          +0.04%
I1MissRate                     0|          0         -35.32%
I1mr                      19,341|     12,512         -35.31%
ILmr                         182|        186          +2.20%
Ir                    17,558,447| 17,560,868          +0.01%
L1HitRate                     99|         99          +0.02%
L1hits                24,765,443| 24,775,040          +0.04%
LLHitRate                      1|          1          -2.32%
LLMissRate                     0|          0         +16.37%
LLdMissRate                    0|          0         +16.92%
LLhits                   240,385|    234,862          -2.30%
LLiMissRate                    0|          0          +2.18%
RamHitRate                     0|          0         +16.37%
RamHits                    4,759|      5,539         +16.39%
TotalRW               25,010,587| 25,015,441          +0.02%

update_executor_iai::update_group::update_executor with_setup_4:setup_update_executor(red-dress)
Instructions: 49,288,922 (master) → 49,305,371 (HEAD) : $$\color{red}+0.03\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +0.88%
D1mr                     542,781|    547,219          +0.82%
D1mw                     123,389|    125,159          +1.43%
DLmr                      18,492|     18,613          +0.65%
DLmw                      42,560|     44,766          +5.18%
Dr                    12,670,437| 12,674,951          +0.04%
Dw                     8,656,970|  8,663,194          +0.07%
EstimatedCycles       75,347,955| 75,376,110          +0.04%
I1MissRate                     0|          0         -41.72%
I1mr                      56,424|     32,893         -41.70%
ILmr                         323|        338          +4.64%
Ir                    49,288,922| 49,305,371          +0.03%
L1HitRate                     99|         99          +0.03%
L1hits                69,893,735| 69,938,245          +0.06%
LLHitRate                      1|          1          -3.01%
LLMissRate                     0|          0          +3.78%
LLdMissRate                    0|          0          +3.76%
LLhits                   661,219|    641,554          -2.97%
LLiMissRate                    0|          0          +4.61%
RamHitRate                     0|          0          +3.78%
RamHits                   61,375|     63,717          +3.82%
TotalRW               70,616,329| 70,643,516          +0.04%

update_executor_iai::update_group::update_executor with_setup_5:setup_update_executor(valley-of-spires)
Instructions: 32,591,093 (master) → 32,606,969 (HEAD) : $$\color{red}+0.05\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +0.28%
D1mr                     357,796|    359,845          +0.57%
D1mw                      79,691|     78,987          -0.88%
DLmr                       4,840|      4,980          +2.89%
DLmw                      23,660|     19,584         -17.23%
Dr                     8,285,412|  8,288,976          +0.04%
Dw                     5,609,912|  5,610,755          +0.02%
EstimatedCycles       49,258,567| 49,098,988          -0.32%
I1MissRate                     0|          0         -41.84%
I1mr                      40,173|     23,375         -41.81%
ILmr                         217|        218          +0.46%
Ir                    32,591,093| 32,606,969          +0.05%
L1HitRate                     99|         99          +0.03%
L1hits                46,008,757| 46,044,493          +0.08%
LLHitRate                      1|          1          -2.61%
LLMissRate                     0|          0         -13.74%
LLdMissRate                    0|          0         -13.84%
LLhits                   448,943|    437,425          -2.57%
LLiMissRate                    0|          0          +0.41%
RamHitRate                     0|          0         -13.74%
RamHits                   28,717|     24,782         -13.70%
TotalRW               46,486,417| 46,506,700          +0.04%

🚀 Render: Cold Execution

run_once_iai::run_once_group::run_once with_setup_0:setup_run_once(isometric-fountain)
Instructions: 21,489,545 (master) → 21,448,287 (HEAD) : $$\color{lime}-0.19\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +1.31%
D1mr                     244,586|    245,181          +0.24%
D1mw                      53,610|     53,637          +0.05%
DLmr                       9,278|      8,746          -5.73%
DLmw                      17,518|     17,510          -0.05%
Dr                     5,481,387|  5,430,449          -0.93%
Dw                     3,661,695|  3,613,406          -1.32%
EstimatedCycles       33,272,177| 33,120,552          -0.46%
I1MissRate                     1|          1          +0.72%
I1mr                     122,839|    123,482          +0.52%
ILmr                       5,051|      5,051          +0.00%
Ir                    21,489,545| 21,448,287          -0.19%
L1HitRate                     99|         99          -0.01%
L1hits                30,211,592| 30,069,842          -0.47%
LLHitRate                      1|          1          +0.93%
LLMissRate                     0|          0          -1.24%
LLdMissRate                    0|          0          -0.94%
LLhits                   389,188|    390,993          +0.46%
LLiMissRate                    0|          0          +0.19%
RamHitRate                     0|          0          -1.24%
RamHits                   31,847|     31,307          -1.70%
TotalRW               30,632,627| 30,492,142          -0.46%

run_once_iai::run_once_group::run_once with_setup_1:setup_run_once(painted-dreams)
Instructions: 77,581,097 (master) → 77,614,272 (HEAD) : $$\color{red}+0.04\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          +0.15%
D1mr                     402,930|    405,125          +0.54%
D1mw                     193,479|    192,915          -0.29%
DLmr                       5,088|      5,522          +8.53%
DLmw                      54,026|     55,641          +2.99%
Dr                    18,468,187| 18,484,032          +0.09%
Dw                    12,340,740| 12,362,803          +0.18%
EstimatedCycles      113,483,288|113,619,089          +0.12%
I1MissRate                     0|          0          -0.47%
I1mr                     179,012|    178,238          -0.43%
ILmr                       7,272|      7,266          -0.08%
Ir                    77,581,097| 77,614,272          +0.04%
L1HitRate                     99|         99          -0.00%
L1hits               107,614,603|107,684,829          +0.07%
LLHitRate                      1|          1          -0.23%
LLMissRate                     0|          0          +3.01%
LLdMissRate                    0|          0          +3.34%
LLhits                   709,035|    707,849          -0.17%
LLiMissRate                    0|          0          -0.13%
RamHitRate                     0|          0          +3.01%
RamHits                   66,386|     68,429          +3.08%
TotalRW              108,390,024|108,461,107          +0.07%

run_once_iai::run_once_group::run_once with_setup_2:setup_run_once(procedural-string-lights)
Instructions: 9,747,117 (master) → 9,753,416 (HEAD) : $$\color{red}+0.06\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          -0.99%
D1mr                      42,579|     42,451          -0.30%
D1mw                      18,900|     18,804          -0.51%
DLmr                         359|        330          -8.08%
DLmw                       4,129|      4,144          +0.36%
Dr                     2,250,770|  2,262,023          +0.50%
Dw                     1,585,001|  1,598,049          +0.82%
EstimatedCycles       14,271,496| 14,301,536          +0.21%
I1MissRate                     0|          0          +0.48%
I1mr                      45,978|     46,227          +0.54%
ILmr                       4,138|      4,130          -0.19%
Ir                     9,747,117|  9,753,416          +0.06%
L1HitRate                     99|         99          +0.00%
L1hits                13,475,431| 13,506,006          +0.23%
LLHitRate                      1|          1          -0.18%
LLMissRate                     0|          0          -0.48%
LLdMissRate                    0|          0          -0.94%
LLhits                    98,831|     98,878          +0.05%
LLiMissRate                    0|          0          -0.26%
RamHitRate                     0|          0          -0.48%
RamHits                    8,626|      8,604          -0.26%
TotalRW               13,582,888| 13,613,488          +0.23%

run_once_iai::run_once_group::run_once with_setup_3:setup_run_once(parametric-dunescape)
Instructions: 21,991,936 (master) → 22,016,533 (HEAD) : $$\color{red}+0.11\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          -0.63%
D1mr                     118,071|    118,756          +0.58%
D1mw                      54,801|     53,889          -1.66%
DLmr                       1,537|      1,590          +3.45%
DLmw                      12,653|     12,773          +0.95%
Dr                     4,954,455|  4,974,705          +0.41%
Dw                     3,211,644|  3,232,623          +0.65%
EstimatedCycles       31,613,891| 31,680,595          +0.21%
I1MissRate                     0|          0          -1.49%
I1mr                      59,377|     58,556          -1.38%
ILmr                       3,372|      3,368          -0.12%
Ir                    21,991,936| 22,016,533          +0.11%
L1HitRate                     99|         99          +0.01%
L1hits                29,925,786| 29,992,660          +0.22%
LLHitRate                      1|          1          -0.78%
LLMissRate                     0|          0          +0.74%
LLdMissRate                    0|          0          +0.71%
LLhits                   214,687|    213,470          -0.57%
LLiMissRate                    0|          0          -0.23%
RamHitRate                     0|          0          +0.74%
RamHits                   17,562|     17,731          +0.96%
TotalRW               30,158,035| 30,223,861          +0.22%

run_once_iai::run_once_group::run_once with_setup_4:setup_run_once(red-dress)
Instructions: 1,796,852,848 (master) → 1,796,733,935 (HEAD) : $$\color{lime}-0.01\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     0|          0          -0.13%
D1mr                   1,701,549|  1,697,216          -0.25%
D1mw                     767,752|    767,993          +0.03%
DLmr                     393,998|    392,483          -0.38%
DLmw                     499,101|    499,467          +0.07%
Dr                   425,066,488|424,953,312          -0.03%
Dw                   277,185,447|277,070,877          -0.04%
EstimatedCycles      2,540,582,359|2,540,298,338          -0.01%
I1MissRate                     0|          0          +2.46%
I1mr                   1,162,048|  1,190,537          +2.45%
ILmr                       5,307|      5,291          -0.30%
Ir                   1,796,852,848|1,796,733,935          -0.01%
L1HitRate                    100|        100          -0.00%
L1hits               2,495,473,434|2,495,102,378          -0.01%
LLHitRate                      0|          0          +0.95%
LLMissRate                     0|          0          -0.12%
LLdMissRate                    0|          0          -0.10%
LLhits                 2,732,943|  2,758,505          +0.94%
LLiMissRate                    0|          0          -0.29%
RamHitRate                     0|          0          -0.12%
RamHits                  898,406|    897,241          -0.13%
TotalRW              2,499,104,783|2,498,758,124          -0.01%

run_once_iai::run_once_group::run_once with_setup_5:setup_run_once(valley-of-spires)
Instructions: 19,727,430 (master) → 19,700,087 (HEAD) : $$\color{lime}-0.14\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          -0.40%
D1mr                     199,950|    198,491          -0.73%
D1mw                      46,474|     46,639          +0.36%
DLmr                       5,690|      5,715          +0.44%
DLmw                      14,505|     14,016          -3.37%
Dr                     4,816,987|  4,809,867          -0.15%
Dw                     3,186,211|  3,183,079          -0.10%
EstimatedCycles       29,819,192| 29,767,387          -0.17%
I1MissRate                     1|          1          +1.31%
I1mr                      99,767|    100,936          +1.17%
ILmr                       3,265|      3,272          +0.21%
Ir                    19,727,430| 19,700,087          -0.14%
L1HitRate                     99|         99          -0.00%
L1hits                27,384,437| 27,346,967          -0.14%
LLHitRate                      1|          1          +0.24%
LLMissRate                     0|          0          -1.81%
LLdMissRate                    0|          0          -2.17%
LLhits                   322,731|    323,063          +0.10%
LLiMissRate                    0|          0          +0.35%
RamHitRate                     0|          0          -1.81%
RamHits                   23,460|     23,003          -1.95%
TotalRW               27,730,628| 27,693,033          -0.14%

⚡ Render: Cached Execution

run_cached_iai::run_cached_group::run_cached with_setup_0:setup_run_cached(isometric-fountain)
Instructions: 16,147,181 (master) → 16,153,599 (HEAD) : $$\color{red}+0.04\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +0.45%
D1mr                     198,589|    200,147          +0.78%
D1mw                      16,857|     17,669          +4.82%
DLmr                       2,372|      2,178          -8.18%
DLmw                         610|        567          -7.05%
Dr                     4,087,053|  4,107,927          +0.51%
Dw                     2,653,911|  2,676,742          +0.86%
EstimatedCycles       23,991,475| 24,047,186          +0.23%
I1MissRate                     0|          0          +2.41%
I1mr                      36,754|     37,656          +2.45%
ILmr                         169|        156          -7.69%
Ir                    16,147,181| 16,153,599          +0.04%
L1HitRate                     99|         99          -0.01%
L1hits                22,635,945| 22,682,796          +0.21%
LLHitRate                      1|          1          +1.19%
LLMissRate                     0|          0          -8.14%
LLdMissRate                    0|          0          -8.54%
LLhits                   249,049|    252,571          +1.41%
LLiMissRate                    0|          0          -7.73%
RamHitRate                     0|          0          -8.14%
RamHits                    3,151|      2,901          -7.93%
TotalRW               22,888,145| 22,938,268          +0.22%

run_cached_iai::run_cached_group::run_cached with_setup_1:setup_run_cached(painted-dreams)
Instructions: 21,850,085 (master) → 21,843,473 (HEAD) : $$\color{lime}-0.03\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          +0.27%
D1mr                     166,069|    166,310          +0.15%
D1mw                      28,375|     28,932          +1.96%
DLmr                       1,781|      1,662          -6.68%
DLmw                         421|        111         -73.63%
Dr                     5,254,528|  5,258,978          +0.08%
Dw                     3,560,401|  3,568,294          +0.22%
EstimatedCycles       31,747,530| 31,749,893          +0.01%
I1MissRate                     0|          0          +2.72%
I1mr                      58,395|     59,965          +2.69%
ILmr                         170|        171          +0.59%
Ir                    21,850,085| 21,843,473          -0.03%
L1HitRate                     99|         99          -0.01%
L1hits                30,412,175| 30,415,538          +0.01%
LLHitRate                      1|          1          +1.10%
LLMissRate                     0|          0         -18.06%
LLdMissRate                    0|          0         -19.59%
LLhits                   250,467|    253,263          +1.12%
LLiMissRate                    0|          0          +0.62%
RamHitRate                     0|          0         -18.06%
RamHits                    2,372|      1,944         -18.04%
TotalRW               30,665,014| 30,670,745          +0.02%

run_cached_iai::run_cached_group::run_cached with_setup_2:setup_run_cached(procedural-string-lights)
Instructions: 7,849,584 (master) → 7,849,031 (HEAD) : $$\color{lime}-0.01\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     1|          1          +0.97%
D1mr                      32,838|     32,998          +0.49%
D1mw                       8,579|      8,783          +2.38%
DLmr                           9|         11         +22.22%
DLmw                         200|        179         -10.50%
Dr                     1,833,057|  1,831,604          -0.08%
Dw                     1,302,309|  1,301,022          -0.10%
EstimatedCycles       11,292,876| 11,294,193          +0.01%
I1MissRate                     0|          0          +3.07%
I1mr                      32,812|     33,818          +3.07%
ILmr                         158|        148          -6.33%
Ir                     7,849,584|  7,849,031          -0.01%
L1HitRate                     99|         99          -0.01%
L1hits                10,910,721| 10,906,058          -0.04%
LLHitRate                      1|          1          +1.92%
LLMissRate                     0|          0          -7.87%
LLdMissRate                    0|          0          -9.01%
LLhits                    73,862|     75,261          +1.89%
LLiMissRate                    0|          0          -6.32%
RamHitRate                     0|          0          -7.87%
RamHits                      367|        338          -7.90%
TotalRW               10,984,950| 10,981,657          -0.03%

run_cached_iai::run_cached_group::run_cached with_setup_3:setup_run_cached(parametric-dunescape)
Instructions: 13,676,552 (master) → 13,722,876 (HEAD) : $$\color{red}+0.34\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     2|          2          -0.87%
D1mr                      83,132|     83,427          +0.35%
D1mw                      23,515|     23,487          -0.12%
DLmr                          37|         34          -8.11%
DLmw                       1,544|        337         -78.17%
Dr                     3,061,493|  3,091,217          +0.97%
Dw                     2,090,241|  2,118,904          +1.37%
EstimatedCycles       19,341,190| 19,409,685          +0.35%
I1MissRate                     0|          0          -2.62%
I1mr                       8,769|      8,568          -2.29%
ILmr                         127|        121          -4.72%
Ir                    13,676,552| 13,722,876          +0.34%
L1HitRate                     99|         99          +0.00%
L1hits                18,712,870| 18,817,515          +0.56%
LLHitRate                      1|          1          +0.57%
LLMissRate                     0|          0         -71.35%
LLdMissRate                    0|          0         -76.80%
LLhits                   113,708|    114,990          +1.13%
LLiMissRate                    0|          0          -5.05%
RamHitRate                     0|          0         -71.35%
RamHits                    1,708|        492         -71.19%
TotalRW               18,828,286| 18,932,997          +0.56%

run_cached_iai::run_cached_group::run_cached with_setup_4:setup_run_cached(red-dress)
Instructions: 246,530,597 (master) → 246,545,268 (HEAD) : $$\color{red}+0.01\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     1|          1          -1.37%
D1mr                   1,043,752|  1,036,014          -0.74%
D1mw                     223,507|    213,368          -4.54%
DLmr                     379,633|    380,542          +0.24%
DLmw                     143,611|    144,605          +0.69%
Dr                    57,398,246| 57,382,212          -0.03%
Dw                    40,998,684| 40,978,188          -0.05%
EstimatedCycles      369,537,465|369,754,364          +0.06%
I1MissRate                     0|          0          +6.68%
I1mr                     946,593|  1,009,887          +6.69%
ILmr                       1,907|      1,907          +0.00%
Ir                   246,530,597|246,545,268          +0.01%
L1HitRate                     99|         99          -0.01%
L1hits               342,713,675|342,646,399          -0.02%
LLHitRate                      0|          1          +2.58%
LLMissRate                     0|          0          +0.37%
LLdMissRate                    1|          1          +0.40%
LLhits                 1,688,701|  1,732,215          +2.58%
LLiMissRate                    0|          0          -0.01%
RamHitRate                     0|          0          +0.37%
RamHits                  525,151|    527,054          +0.36%
TotalRW              344,927,527|344,905,668          -0.01%

run_cached_iai::run_cached_group::run_cached with_setup_5:setup_run_cached(valley-of-spires)
Instructions: 15,373,170 (master) → 15,356,356 (HEAD) : $$\color{lime}-0.11\%$$

Detailed metrics
Baselines:                master|       HEAD
D1MissRate                     3|          3          +0.38%
D1mr                     163,206|    163,439          +0.14%
D1mw                      16,661|     16,809          +0.89%
DLmr                         326|        259         -20.55%
DLmw                         929|        691         -25.62%
Dr                     3,701,519|  3,695,404          -0.17%
Dw                     2,387,169|  2,383,107          -0.17%
EstimatedCycles       22,346,962| 22,314,147          -0.15%
I1MissRate                     0|          0          +1.89%
I1mr                      30,789|     31,337          +1.78%
ILmr                         161|        148          -8.07%
Ir                    15,373,170| 15,356,356          -0.11%
L1HitRate                     99|         99          -0.01%
L1hits                21,251,202| 21,223,282          -0.13%
LLHitRate                      1|          1          +0.72%
LLMissRate                     0|          0         -22.36%
LLdMissRate                    0|          0         -24.18%
LLhits                   209,240|    210,487          +0.60%
LLiMissRate                    0|          0          -7.97%
RamHitRate                     0|          0         -22.36%
RamHits                    1,416|      1,098         -22.46%
TotalRW               21,461,858| 21,434,867          -0.13%

@Keavon Keavon changed the title shaders: explicitly destroy wgpu images Shaders: Explicitly destroy WGPU images instead of waiting on GC Sep 8, 2025
@TrueDoctor
Copy link
Member

wrapped the wgpu texture in an Arc, may work, haven't tested it due to constant build failures...

I mean it does seem to work in the build link, I think we should be good to merge then. Just confirmed that this does not break anything else on desktop

@TrueDoctor
Copy link
Member

image I am still able to trigger an out of memory error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants