@grepp/detect-gpu 5.0.85 → 5.0.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/benchmarks/d-amd.json +25 -35
- package/dist/benchmarks/d-apple.json +13 -0
- package/dist/benchmarks/d-geforce.json +20 -7
- package/dist/benchmarks/d-nvidia.json +21 -8
- package/dist/benchmarks/d-radeon.json +25 -35
- package/dist/benchmarks/m-adreno.json +6 -6
- package/dist/benchmarks/m-apple-ipad.json +30 -10
- package/dist/benchmarks/m-apple.json +2 -8
- package/dist/detect-gpu.esm.js +1 -1
- package/dist/detect-gpu.umd.js +1 -1
- package/package.json +4 -4
|
@@ -776,12 +776,7 @@
|
|
|
776
776
|
[
|
|
777
777
|
1920,
|
|
778
778
|
1080,
|
|
779
|
-
|
|
780
|
-
],
|
|
781
|
-
[
|
|
782
|
-
2560,
|
|
783
|
-
1080,
|
|
784
|
-
60
|
|
779
|
+
89
|
|
785
780
|
]
|
|
786
781
|
]
|
|
787
782
|
],
|
|
@@ -2905,11 +2900,6 @@
|
|
|
2905
2900
|
"780m amd radeon",
|
|
2906
2901
|
0,
|
|
2907
2902
|
[
|
|
2908
|
-
[
|
|
2909
|
-
1920,
|
|
2910
|
-
1080,
|
|
2911
|
-
332
|
|
2912
|
-
],
|
|
2913
2903
|
[
|
|
2914
2904
|
1920,
|
|
2915
2905
|
1200,
|
|
@@ -2954,11 +2944,6 @@
|
|
|
2954
2944
|
"8060s amd radeon",
|
|
2955
2945
|
0,
|
|
2956
2946
|
[
|
|
2957
|
-
[
|
|
2958
|
-
1920,
|
|
2959
|
-
1080,
|
|
2960
|
-
60
|
|
2961
|
-
],
|
|
2962
2947
|
[
|
|
2963
2948
|
3840,
|
|
2964
2949
|
2160,
|
|
@@ -2973,9 +2958,9 @@
|
|
|
2973
2958
|
0,
|
|
2974
2959
|
[
|
|
2975
2960
|
[
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2961
|
+
2880,
|
|
2962
|
+
1800,
|
|
2963
|
+
137
|
|
2979
2964
|
],
|
|
2980
2965
|
[
|
|
2981
2966
|
2880,
|
|
@@ -4193,11 +4178,6 @@
|
|
|
4193
4178
|
1920,
|
|
4194
4179
|
1080,
|
|
4195
4180
|
60
|
|
4196
|
-
],
|
|
4197
|
-
[
|
|
4198
|
-
1920,
|
|
4199
|
-
1200,
|
|
4200
|
-
55
|
|
4201
4181
|
]
|
|
4202
4182
|
]
|
|
4203
4183
|
],
|
|
@@ -7482,7 +7462,7 @@
|
|
|
7482
7462
|
[
|
|
7483
7463
|
3584,
|
|
7484
7464
|
2240,
|
|
7485
|
-
|
|
7465
|
+
130
|
|
7486
7466
|
]
|
|
7487
7467
|
]
|
|
7488
7468
|
],
|
|
@@ -7526,7 +7506,7 @@
|
|
|
7526
7506
|
[
|
|
7527
7507
|
3584,
|
|
7528
7508
|
2240,
|
|
7529
|
-
|
|
7509
|
+
139
|
|
7530
7510
|
]
|
|
7531
7511
|
]
|
|
7532
7512
|
],
|
|
@@ -7568,6 +7548,11 @@
|
|
|
7568
7548
|
3360,
|
|
7569
7549
|
2100,
|
|
7570
7550
|
39
|
|
7551
|
+
],
|
|
7552
|
+
[
|
|
7553
|
+
4096,
|
|
7554
|
+
2304,
|
|
7555
|
+
40
|
|
7571
7556
|
]
|
|
7572
7557
|
]
|
|
7573
7558
|
],
|
|
@@ -7750,6 +7735,11 @@
|
|
|
7750
7735
|
"580 amd pro radeon",
|
|
7751
7736
|
0,
|
|
7752
7737
|
[
|
|
7738
|
+
[
|
|
7739
|
+
3840,
|
|
7740
|
+
2160,
|
|
7741
|
+
60
|
|
7742
|
+
],
|
|
7753
7743
|
[
|
|
7754
7744
|
5120,
|
|
7755
7745
|
2880,
|
|
@@ -8473,7 +8463,7 @@
|
|
|
8473
8463
|
[
|
|
8474
8464
|
1920,
|
|
8475
8465
|
1080,
|
|
8476
|
-
|
|
8466
|
+
60
|
|
8477
8467
|
],
|
|
8478
8468
|
[
|
|
8479
8469
|
2560,
|
|
@@ -11337,7 +11327,7 @@
|
|
|
11337
11327
|
[
|
|
11338
11328
|
1920,
|
|
11339
11329
|
1080,
|
|
11340
|
-
|
|
11330
|
+
350
|
|
11341
11331
|
],
|
|
11342
11332
|
[
|
|
11343
11333
|
3840,
|
|
@@ -11579,7 +11569,7 @@
|
|
|
11579
11569
|
[
|
|
11580
11570
|
1920,
|
|
11581
11571
|
1080,
|
|
11582
|
-
|
|
11572
|
+
170
|
|
11583
11573
|
]
|
|
11584
11574
|
]
|
|
11585
11575
|
],
|
|
@@ -11839,11 +11829,6 @@
|
|
|
11839
11829
|
2160,
|
|
11840
11830
|
144
|
|
11841
11831
|
],
|
|
11842
|
-
[
|
|
11843
|
-
5120,
|
|
11844
|
-
2880,
|
|
11845
|
-
59
|
|
11846
|
-
],
|
|
11847
11832
|
[
|
|
11848
11833
|
6400,
|
|
11849
11834
|
2666,
|
|
@@ -12121,7 +12106,7 @@
|
|
|
12121
12106
|
[
|
|
12122
12107
|
2560,
|
|
12123
12108
|
1440,
|
|
12124
|
-
|
|
12109
|
+
260
|
|
12125
12110
|
],
|
|
12126
12111
|
[
|
|
12127
12112
|
3840,
|
|
@@ -12152,6 +12137,11 @@
|
|
|
12152
12137
|
[
|
|
12153
12138
|
1920,
|
|
12154
12139
|
1080,
|
|
12140
|
+
1247
|
|
12141
|
+
],
|
|
12142
|
+
[
|
|
12143
|
+
3840,
|
|
12144
|
+
2160,
|
|
12155
12145
|
60
|
|
12156
12146
|
]
|
|
12157
12147
|
]
|
|
@@ -2664,6 +2664,11 @@
|
|
|
2664
2664
|
"1060 geforce gtx nvidia",
|
|
2665
2665
|
0,
|
|
2666
2666
|
[
|
|
2667
|
+
[
|
|
2668
|
+
1280,
|
|
2669
|
+
720,
|
|
2670
|
+
60
|
|
2671
|
+
],
|
|
2667
2672
|
[
|
|
2668
2673
|
1920,
|
|
2669
2674
|
1080,
|
|
@@ -5981,7 +5986,7 @@
|
|
|
5981
5986
|
[
|
|
5982
5987
|
1920,
|
|
5983
5988
|
1080,
|
|
5984
|
-
|
|
5989
|
+
164
|
|
5985
5990
|
]
|
|
5986
5991
|
]
|
|
5987
5992
|
],
|
|
@@ -6114,6 +6119,19 @@
|
|
|
6114
6119
|
]
|
|
6115
6120
|
]
|
|
6116
6121
|
],
|
|
6122
|
+
[
|
|
6123
|
+
"nvidia geforce rtx 5050 laptop gpu",
|
|
6124
|
+
"5050",
|
|
6125
|
+
"5050 geforce gpu laptop nvidia rtx",
|
|
6126
|
+
0,
|
|
6127
|
+
[
|
|
6128
|
+
[
|
|
6129
|
+
1920,
|
|
6130
|
+
1080,
|
|
6131
|
+
60
|
|
6132
|
+
]
|
|
6133
|
+
]
|
|
6134
|
+
],
|
|
6117
6135
|
[
|
|
6118
6136
|
"nvidia geforce rtx 5060",
|
|
6119
6137
|
"5060",
|
|
@@ -6136,12 +6154,7 @@
|
|
|
6136
6154
|
[
|
|
6137
6155
|
1920,
|
|
6138
6156
|
1080,
|
|
6139
|
-
|
|
6140
|
-
],
|
|
6141
|
-
[
|
|
6142
|
-
2560,
|
|
6143
|
-
1600,
|
|
6144
|
-
165
|
|
6157
|
+
144
|
|
6145
6158
|
]
|
|
6146
6159
|
]
|
|
6147
6160
|
],
|
|
@@ -2903,6 +2903,11 @@
|
|
|
2903
2903
|
"1060 geforce gtx nvidia",
|
|
2904
2904
|
0,
|
|
2905
2905
|
[
|
|
2906
|
+
[
|
|
2907
|
+
1280,
|
|
2908
|
+
720,
|
|
2909
|
+
60
|
|
2910
|
+
],
|
|
2906
2911
|
[
|
|
2907
2912
|
1920,
|
|
2908
2913
|
1080,
|
|
@@ -6220,7 +6225,7 @@
|
|
|
6220
6225
|
[
|
|
6221
6226
|
1920,
|
|
6222
6227
|
1080,
|
|
6223
|
-
|
|
6228
|
+
164
|
|
6224
6229
|
]
|
|
6225
6230
|
]
|
|
6226
6231
|
],
|
|
@@ -6353,6 +6358,19 @@
|
|
|
6353
6358
|
]
|
|
6354
6359
|
]
|
|
6355
6360
|
],
|
|
6361
|
+
[
|
|
6362
|
+
"nvidia geforce rtx 5050 laptop gpu",
|
|
6363
|
+
"5050",
|
|
6364
|
+
"5050 geforce gpu laptop nvidia rtx",
|
|
6365
|
+
0,
|
|
6366
|
+
[
|
|
6367
|
+
[
|
|
6368
|
+
1920,
|
|
6369
|
+
1080,
|
|
6370
|
+
60
|
|
6371
|
+
]
|
|
6372
|
+
]
|
|
6373
|
+
],
|
|
6356
6374
|
[
|
|
6357
6375
|
"nvidia geforce rtx 5060",
|
|
6358
6376
|
"5060",
|
|
@@ -6375,12 +6393,7 @@
|
|
|
6375
6393
|
[
|
|
6376
6394
|
1920,
|
|
6377
6395
|
1080,
|
|
6378
|
-
|
|
6379
|
-
],
|
|
6380
|
-
[
|
|
6381
|
-
2560,
|
|
6382
|
-
1600,
|
|
6383
|
-
165
|
|
6396
|
+
144
|
|
6384
6397
|
]
|
|
6385
6398
|
]
|
|
6386
6399
|
],
|
|
@@ -9813,7 +9826,7 @@
|
|
|
9813
9826
|
[
|
|
9814
9827
|
1920,
|
|
9815
9828
|
1080,
|
|
9816
|
-
|
|
9829
|
+
87
|
|
9817
9830
|
],
|
|
9818
9831
|
[
|
|
9819
9832
|
1920,
|
|
@@ -239,12 +239,7 @@
|
|
|
239
239
|
[
|
|
240
240
|
1920,
|
|
241
241
|
1080,
|
|
242
|
-
|
|
243
|
-
],
|
|
244
|
-
[
|
|
245
|
-
2560,
|
|
246
|
-
1080,
|
|
247
|
-
60
|
|
242
|
+
89
|
|
248
243
|
]
|
|
249
244
|
]
|
|
250
245
|
],
|
|
@@ -943,11 +938,6 @@
|
|
|
943
938
|
"780m amd radeon",
|
|
944
939
|
0,
|
|
945
940
|
[
|
|
946
|
-
[
|
|
947
|
-
1920,
|
|
948
|
-
1080,
|
|
949
|
-
332
|
|
950
|
-
],
|
|
951
941
|
[
|
|
952
942
|
1920,
|
|
953
943
|
1200,
|
|
@@ -992,11 +982,6 @@
|
|
|
992
982
|
"8060s amd radeon",
|
|
993
983
|
0,
|
|
994
984
|
[
|
|
995
|
-
[
|
|
996
|
-
1920,
|
|
997
|
-
1080,
|
|
998
|
-
60
|
|
999
|
-
],
|
|
1000
985
|
[
|
|
1001
986
|
3840,
|
|
1002
987
|
2160,
|
|
@@ -1011,9 +996,9 @@
|
|
|
1011
996
|
0,
|
|
1012
997
|
[
|
|
1013
998
|
[
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
999
|
+
2880,
|
|
1000
|
+
1800,
|
|
1001
|
+
137
|
|
1017
1002
|
],
|
|
1018
1003
|
[
|
|
1019
1004
|
2880,
|
|
@@ -2231,11 +2216,6 @@
|
|
|
2231
2216
|
1920,
|
|
2232
2217
|
1080,
|
|
2233
2218
|
60
|
|
2234
|
-
],
|
|
2235
|
-
[
|
|
2236
|
-
1920,
|
|
2237
|
-
1200,
|
|
2238
|
-
55
|
|
2239
2219
|
]
|
|
2240
2220
|
]
|
|
2241
2221
|
],
|
|
@@ -5520,7 +5500,7 @@
|
|
|
5520
5500
|
[
|
|
5521
5501
|
3584,
|
|
5522
5502
|
2240,
|
|
5523
|
-
|
|
5503
|
+
130
|
|
5524
5504
|
]
|
|
5525
5505
|
]
|
|
5526
5506
|
],
|
|
@@ -5564,7 +5544,7 @@
|
|
|
5564
5544
|
[
|
|
5565
5545
|
3584,
|
|
5566
5546
|
2240,
|
|
5567
|
-
|
|
5547
|
+
139
|
|
5568
5548
|
]
|
|
5569
5549
|
]
|
|
5570
5550
|
],
|
|
@@ -5606,6 +5586,11 @@
|
|
|
5606
5586
|
3360,
|
|
5607
5587
|
2100,
|
|
5608
5588
|
39
|
|
5589
|
+
],
|
|
5590
|
+
[
|
|
5591
|
+
4096,
|
|
5592
|
+
2304,
|
|
5593
|
+
40
|
|
5609
5594
|
]
|
|
5610
5595
|
]
|
|
5611
5596
|
],
|
|
@@ -5788,6 +5773,11 @@
|
|
|
5788
5773
|
"580 amd pro radeon",
|
|
5789
5774
|
0,
|
|
5790
5775
|
[
|
|
5776
|
+
[
|
|
5777
|
+
3840,
|
|
5778
|
+
2160,
|
|
5779
|
+
60
|
|
5780
|
+
],
|
|
5791
5781
|
[
|
|
5792
5782
|
5120,
|
|
5793
5783
|
2880,
|
|
@@ -6511,7 +6501,7 @@
|
|
|
6511
6501
|
[
|
|
6512
6502
|
1920,
|
|
6513
6503
|
1080,
|
|
6514
|
-
|
|
6504
|
+
60
|
|
6515
6505
|
],
|
|
6516
6506
|
[
|
|
6517
6507
|
2560,
|
|
@@ -9375,7 +9365,7 @@
|
|
|
9375
9365
|
[
|
|
9376
9366
|
1920,
|
|
9377
9367
|
1080,
|
|
9378
|
-
|
|
9368
|
+
350
|
|
9379
9369
|
],
|
|
9380
9370
|
[
|
|
9381
9371
|
3840,
|
|
@@ -9617,7 +9607,7 @@
|
|
|
9617
9607
|
[
|
|
9618
9608
|
1920,
|
|
9619
9609
|
1080,
|
|
9620
|
-
|
|
9610
|
+
170
|
|
9621
9611
|
]
|
|
9622
9612
|
]
|
|
9623
9613
|
],
|
|
@@ -9877,11 +9867,6 @@
|
|
|
9877
9867
|
2160,
|
|
9878
9868
|
144
|
|
9879
9869
|
],
|
|
9880
|
-
[
|
|
9881
|
-
5120,
|
|
9882
|
-
2880,
|
|
9883
|
-
59
|
|
9884
|
-
],
|
|
9885
9870
|
[
|
|
9886
9871
|
6400,
|
|
9887
9872
|
2666,
|
|
@@ -10159,7 +10144,7 @@
|
|
|
10159
10144
|
[
|
|
10160
10145
|
2560,
|
|
10161
10146
|
1440,
|
|
10162
|
-
|
|
10147
|
+
260
|
|
10163
10148
|
],
|
|
10164
10149
|
[
|
|
10165
10150
|
3840,
|
|
@@ -10190,6 +10175,11 @@
|
|
|
10190
10175
|
[
|
|
10191
10176
|
1920,
|
|
10192
10177
|
1080,
|
|
10178
|
+
1247
|
|
10179
|
+
],
|
|
10180
|
+
[
|
|
10181
|
+
3840,
|
|
10182
|
+
2160,
|
|
10193
10183
|
60
|
|
10194
10184
|
]
|
|
10195
10185
|
]
|
|
@@ -2492,12 +2492,6 @@
|
|
|
2492
2492
|
"830 adreno qualcomm",
|
|
2493
2493
|
0,
|
|
2494
2494
|
[
|
|
2495
|
-
[
|
|
2496
|
-
2122,
|
|
2497
|
-
1080,
|
|
2498
|
-
120,
|
|
2499
|
-
"samsung galaxy s25+"
|
|
2500
|
-
],
|
|
2501
2495
|
[
|
|
2502
2496
|
2256,
|
|
2503
2497
|
1032,
|
|
@@ -2510,6 +2504,12 @@
|
|
|
2510
2504
|
120,
|
|
2511
2505
|
"samsung galaxy s25 ultra"
|
|
2512
2506
|
],
|
|
2507
|
+
[
|
|
2508
|
+
2340,
|
|
2509
|
+
1080,
|
|
2510
|
+
120,
|
|
2511
|
+
"samsung galaxy s25+"
|
|
2512
|
+
],
|
|
2513
2513
|
[
|
|
2514
2514
|
3200,
|
|
2515
2515
|
1440,
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
[
|
|
36
36
|
2224,
|
|
37
37
|
1668,
|
|
38
|
-
|
|
38
|
+
1596,
|
|
39
39
|
"apple ipad pro (10.5-inch)"
|
|
40
40
|
],
|
|
41
41
|
[
|
|
42
42
|
2732,
|
|
43
43
|
2048,
|
|
44
|
-
|
|
44
|
+
41,
|
|
45
45
|
"apple ipad pro (12.9-inch, 2nd gen)"
|
|
46
46
|
]
|
|
47
47
|
]
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
[
|
|
102
102
|
2388,
|
|
103
103
|
1668,
|
|
104
|
-
|
|
104
|
+
102,
|
|
105
105
|
"apple ipad pro (11-inch) (2rd generation)"
|
|
106
106
|
],
|
|
107
107
|
[
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
2360,
|
|
177
177
|
1640,
|
|
178
178
|
60,
|
|
179
|
-
"apple ipad 11th gen (wifi)"
|
|
179
|
+
"apple ipad 11th gen (wifi+cellular)"
|
|
180
180
|
]
|
|
181
181
|
]
|
|
182
182
|
],
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
2266,
|
|
191
191
|
1488,
|
|
192
192
|
60,
|
|
193
|
-
"apple ipad mini
|
|
193
|
+
"apple ipad mini (a17)"
|
|
194
194
|
]
|
|
195
195
|
]
|
|
196
196
|
],
|
|
@@ -279,13 +279,13 @@
|
|
|
279
279
|
[
|
|
280
280
|
2360,
|
|
281
281
|
1640,
|
|
282
|
-
|
|
282
|
+
120,
|
|
283
283
|
"apple ipad air (5th generation)"
|
|
284
284
|
],
|
|
285
285
|
[
|
|
286
286
|
2388,
|
|
287
287
|
1668,
|
|
288
|
-
|
|
288
|
+
118,
|
|
289
289
|
"apple ipad pro (11-inch) (3rd generation)"
|
|
290
290
|
],
|
|
291
291
|
[
|
|
@@ -344,7 +344,7 @@
|
|
|
344
344
|
2732,
|
|
345
345
|
2048,
|
|
346
346
|
60,
|
|
347
|
-
"apple ipad air 13-inch 7th gen (wifi)"
|
|
347
|
+
"apple ipad air 13-inch 7th gen (wifi+cellular)"
|
|
348
348
|
]
|
|
349
349
|
]
|
|
350
350
|
],
|
|
@@ -357,8 +357,8 @@
|
|
|
357
357
|
[
|
|
358
358
|
2420,
|
|
359
359
|
1668,
|
|
360
|
-
|
|
361
|
-
"apple ipad pro 11
|
|
360
|
+
75,
|
|
361
|
+
"apple ipad pro 11 inch 5th gen"
|
|
362
362
|
],
|
|
363
363
|
[
|
|
364
364
|
2752,
|
|
@@ -367,5 +367,25 @@
|
|
|
367
367
|
"apple ipad pro 12.9 inch 7th gen"
|
|
368
368
|
]
|
|
369
369
|
]
|
|
370
|
+
],
|
|
371
|
+
[
|
|
372
|
+
"apple m5 gpu",
|
|
373
|
+
"5",
|
|
374
|
+
"apple gpu m5",
|
|
375
|
+
0,
|
|
376
|
+
[
|
|
377
|
+
[
|
|
378
|
+
2420,
|
|
379
|
+
1668,
|
|
380
|
+
120,
|
|
381
|
+
"apple ipad pro m5 11 inch"
|
|
382
|
+
],
|
|
383
|
+
[
|
|
384
|
+
2752,
|
|
385
|
+
2064,
|
|
386
|
+
60,
|
|
387
|
+
"apple ipad pro m5 13 inch"
|
|
388
|
+
]
|
|
389
|
+
]
|
|
370
390
|
]
|
|
371
391
|
]
|
|
@@ -128,12 +128,6 @@
|
|
|
128
128
|
61,
|
|
129
129
|
"apple iphone 12 mini"
|
|
130
130
|
],
|
|
131
|
-
[
|
|
132
|
-
2436,
|
|
133
|
-
1125,
|
|
134
|
-
61,
|
|
135
|
-
"apple iphone 12"
|
|
136
|
-
],
|
|
137
131
|
[
|
|
138
132
|
2532,
|
|
139
133
|
1170,
|
|
@@ -170,7 +164,7 @@
|
|
|
170
164
|
2532,
|
|
171
165
|
1170,
|
|
172
166
|
60,
|
|
173
|
-
"apple iphone
|
|
167
|
+
"apple iphone 14"
|
|
174
168
|
],
|
|
175
169
|
[
|
|
176
170
|
2778,
|
|
@@ -295,7 +289,7 @@
|
|
|
295
289
|
[
|
|
296
290
|
2778,
|
|
297
291
|
1284,
|
|
298
|
-
|
|
292
|
+
60,
|
|
299
293
|
"apple iphone 17 pro max"
|
|
300
294
|
]
|
|
301
295
|
]
|
package/dist/detect-gpu.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(e,t,r,n){return new(r||(r=Promise))(function(o,a){function i(e){try{d(n.next(e))}catch(e){a(e)}}function c(e){try{d(n.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(i,c)}d((n=n.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const t=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function r(e){return e=e.toLowerCase().replace(/.*angle ?\((.+)\)(?: on vulkan [0-9.]+)?$/i,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const n=34962,o="undefined"==typeof window,a=(()=>{if(o)return;const{userAgent:e,platform:t,maxTouchPoints:r}=window.navigator,n=/(iphone|ipod|ipad)/i.test(e),a="iPad"===t||"MacIntel"===t&&r>0&&!window.MSStream;return{isIpad:a,isMobile:/android/i.test(e)||n||a,isSafari12:/Version\/12.+Safari/.test(e),isFirefox:/Firefox/.test(e)}})();function i(e,t,r){if(!r)return[t];const o=function(e){const t="\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n ",r="\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n ",o=e.createShader(35633),a=e.createShader(35632),i=e.createProgram();if(!(a&&o&&i))return;e.shaderSource(o,t),e.shaderSource(a,r),e.compileShader(o),e.compileShader(a),e.attachShader(i,o),e.attachShader(i,a),e.linkProgram(i),e.detachShader(i,o),e.detachShader(i,a),e.deleteShader(o),e.deleteShader(a),e.useProgram(i);const c=e.createBuffer();e.bindBuffer(n,c),e.bufferData(n,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const d=e.getAttribLocation(i,"aPosition");e.vertexAttribPointer(d,3,5126,!1,0,0),e.enableVertexAttribArray(d),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const l=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,l),e.deleteProgram(i),e.deleteBuffer(c),l.join("")}(e),i="801621810",c="8016218135",d="80162181161",l=(null==a?void 0:a.isIpad)?[["a7",d,12],["a8",c,15],["a8x",c,15],["a9",c,15],["a9x",c,15],["a10",c,15],["a10x",c,15],["a12",i,15],["a12x",i,15],["a12z",i,15],["a14",i,15],["a15",i,15],["m1",i,15],["m2",i,15]]:[["a7",d,12],["a8",c,12],["a9",c,15],["a10",c,15],["a11",i,15],["a12",i,15],["a13",i,15],["a14",i,15],["a15",i,15],["a16",i,15],["a17",i,15]];let s;"80162181255"===o?s=l.filter(([,,e])=>e>=14):(s=l.filter(([,e])=>e===o),s.length||(s=l));return s.map(([e])=>`apple ${e} gpu`)}class c extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const d=[],l=[];function s(e,t){if(e===t)return 0;const r=e;e.length>t.length&&(e=t,t=r);let n=e.length,o=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-o);)n--,o--;let a,i=0;for(;i<n&&e.charCodeAt(i)===t.charCodeAt(i);)i++;if(n-=i,o-=i,0===n)return o;let c,s,f=0,u=0,g=0;for(;u<n;)l[u]=e.charCodeAt(i+u),d[u]=++u;for(;g<o;)for(a=t.charCodeAt(i+g),c=g++,f=g,u=0;u<n;u++)s=a===l[u]?c:c+1,c=d[u],f=d[u]=c>f?s>f?f+1:s:s>c?c+1:s;return f}function f(e){return null!=e}const u=(...n)=>e(void 0,[...n],void 0,function*({mobileTiers:n=[0,15,30,60],desktopTiers:d=[0,15,30,60],override:l={},glContext:u,failIfMajorPerformanceCaveat:g=!1,benchmarksURL:h="https://unpkg.com/@grepp/detect-gpu@5.0.
|
|
1
|
+
function e(e,t,r,n){return new(r||(r=Promise))(function(o,a){function i(e){try{d(n.next(e))}catch(e){a(e)}}function c(e){try{d(n.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(i,c)}d((n=n.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const t=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function r(e){return e=e.toLowerCase().replace(/.*angle ?\((.+)\)(?: on vulkan [0-9.]+)?$/i,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const n=34962,o="undefined"==typeof window,a=(()=>{if(o)return;const{userAgent:e,platform:t,maxTouchPoints:r}=window.navigator,n=/(iphone|ipod|ipad)/i.test(e),a="iPad"===t||"MacIntel"===t&&r>0&&!window.MSStream;return{isIpad:a,isMobile:/android/i.test(e)||n||a,isSafari12:/Version\/12.+Safari/.test(e),isFirefox:/Firefox/.test(e)}})();function i(e,t,r){if(!r)return[t];const o=function(e){const t="\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n ",r="\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n ",o=e.createShader(35633),a=e.createShader(35632),i=e.createProgram();if(!(a&&o&&i))return;e.shaderSource(o,t),e.shaderSource(a,r),e.compileShader(o),e.compileShader(a),e.attachShader(i,o),e.attachShader(i,a),e.linkProgram(i),e.detachShader(i,o),e.detachShader(i,a),e.deleteShader(o),e.deleteShader(a),e.useProgram(i);const c=e.createBuffer();e.bindBuffer(n,c),e.bufferData(n,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const d=e.getAttribLocation(i,"aPosition");e.vertexAttribPointer(d,3,5126,!1,0,0),e.enableVertexAttribArray(d),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const l=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,l),e.deleteProgram(i),e.deleteBuffer(c),l.join("")}(e),i="801621810",c="8016218135",d="80162181161",l=(null==a?void 0:a.isIpad)?[["a7",d,12],["a8",c,15],["a8x",c,15],["a9",c,15],["a9x",c,15],["a10",c,15],["a10x",c,15],["a12",i,15],["a12x",i,15],["a12z",i,15],["a14",i,15],["a15",i,15],["m1",i,15],["m2",i,15]]:[["a7",d,12],["a8",c,12],["a9",c,15],["a10",c,15],["a11",i,15],["a12",i,15],["a13",i,15],["a14",i,15],["a15",i,15],["a16",i,15],["a17",i,15]];let s;"80162181255"===o?s=l.filter(([,,e])=>e>=14):(s=l.filter(([,e])=>e===o),s.length||(s=l));return s.map(([e])=>`apple ${e} gpu`)}class c extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const d=[],l=[];function s(e,t){if(e===t)return 0;const r=e;e.length>t.length&&(e=t,t=r);let n=e.length,o=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-o);)n--,o--;let a,i=0;for(;i<n&&e.charCodeAt(i)===t.charCodeAt(i);)i++;if(n-=i,o-=i,0===n)return o;let c,s,f=0,u=0,g=0;for(;u<n;)l[u]=e.charCodeAt(i+u),d[u]=++u;for(;g<o;)for(a=t.charCodeAt(i+g),c=g++,f=g,u=0;u<n;u++)s=a===l[u]?c:c+1,c=d[u],f=d[u]=c>f?s>f?f+1:s:s>c?c+1:s;return f}function f(e){return null!=e}const u=(...n)=>e(void 0,[...n],void 0,function*({mobileTiers:n=[0,15,30,60],desktopTiers:d=[0,15,30,60],override:l={},glContext:u,failIfMajorPerformanceCaveat:g=!1,benchmarksURL:h="https://unpkg.com/@grepp/detect-gpu@5.0.87/dist/benchmarks"}={}){const p={};if(o)return{tier:0,type:"SSR"};const{isIpad:m=!!(null==a?void 0:a.isIpad),isMobile:v=!!(null==a?void 0:a.isMobile),screenSize:w=window.screen,loadBenchmarks:x=t=>e(void 0,void 0,void 0,function*(){const e=yield fetch(`${h}/${t}`).then(e=>e.json());if(parseInt(e.shift().split(".")[0],10)<4)throw new c("Detect GPU benchmark data is out of date. Please update to version 4x");return e})}=l;let{renderer:A}=l;const P=(e,t,r,n,o)=>({device:o,fps:n,gpu:r,isMobile:v,tier:e,type:t});let S,b="";if(A)A=r(A),S=[A];else{const e=u||function(e,t=!1){const r={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:t,powerPreference:"high-performance",stencil:!1};e&&delete r.powerPreference;const n=window.document.createElement("canvas"),o=n.getContext("webgl",r)||n.getContext("experimental-webgl",r);return null!=o?o:void 0}(null==a?void 0:a.isSafari12,g);if(!e)return P(0,"WEBGL_UNSUPPORTED");const t=(null==a?void 0:a.isFirefox)?null:e.getExtension("WEBGL_debug_renderer_info");if(A=t?e.getParameter(t.UNMASKED_RENDERER_WEBGL):e.getParameter(e.RENDERER),!A)return P(1,"FALLBACK");b=A,A=r(A),S=function(e,t,r){return"apple gpu"===t?i(e,t,r):[t]}(e,A,v)}const E=(yield Promise.all(S.map(function(t){return e(this,void 0,void 0,function*(){var e;const r=(e=>{const t=v?["adreno","apple","mali-t","mali","nvidia","powervr","samsung"]:["intel","apple","amd","radeon","nvidia","geforce","adreno"];for(const r of t)if(e.includes(r))return r})(t);if(!r)return;const n=`${v?"m":"d"}-${r}${m?"-ipad":""}.json`,o=p[n]=null!==(e=p[n])&&void 0!==e?e:x(n);let a;try{a=yield o}catch(e){if(e instanceof c)throw e;return}const i=function(e){var t;const r=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(t=null==r?void 0:r.join("").replace(/\W|amd/g,""))&&void 0!==t?t:""}(t);let d=a.filter(([,e])=>e===i);d.length||(d=a.filter(([e])=>e.includes(t)));const l=d.length;if(0===l)return;const f=t.split(/[.,()\[\]/\s]/g).sort().filter((e,t,r)=>0===t||e!==r[t-1]).join(" ");let u,[g,,,,h]=l>1?d.map(e=>[e,s(f,e[2])]).sort(([,e],[,t])=>e-t)[0][0]:d[0],A=Number.MAX_VALUE;const{devicePixelRatio:P}=window,S=w.width*P*w.height*P;for(const e of h){const[t,r]=e,n=t*r,o=Math.abs(S-n);o<A&&(A=o,u=e)}if(!u)return;const[,,b,E]=u;return[A,b,g,E]})}))).filter(f).sort(([e=Number.MAX_VALUE,t],[r=Number.MAX_VALUE,n])=>e===r?t-n:e-r);if(!E.length){const e=t.find(e=>A.includes(e));return e?P(0,"BLOCKLISTED",e):P(1,"FALLBACK",`${A} (${b})`)}const[,y,C,L]=E[0];if(-1===y)return P(0,"BLOCKLISTED",C,y,L);const M=v?n:d;let $=0;for(let e=0;e<M.length;e++)y>=M[e]&&($=e);return P($,"BENCHMARK",C,y,L)});export{u as getGPUTier};
|
|
2
2
|
//# sourceMappingURL=detect-gpu.esm.js.map
|
package/dist/detect-gpu.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).DetectGPU={})}(this,function(e){"use strict";var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},r(e,t)};function t(e,r,t,n){return new(t||(t=Promise))(function(o,a){function i(e){try{u(n.next(e))}catch(e){a(e)}}function c(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(i,c)}u((n=n.apply(e,r||[])).next())})}function n(e,r){var t,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(u){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(t=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=r.call(e,a)}catch(e){c=[6,e],n=0}finally{t=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}"function"==typeof SuppressedError&&SuppressedError;var o=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function a(e){return e=e.toLowerCase().replace(/.*angle ?\((.+)\)(?: on vulkan [0-9.]+)?$/i,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const i=34962;var c="undefined"==typeof window,u=function(){if(!c){var e=window.navigator,r=e.userAgent,t=e.platform,n=e.maxTouchPoints,o=/(iphone|ipod|ipad)/i.test(r),a="iPad"===t||"MacIntel"===t&&n>0&&!window.MSStream;return{isIpad:a,isMobile:/android/i.test(r)||o||a,isSafari12:/Version\/12.+Safari/.test(r),isFirefox:/Firefox/.test(r)}}}();function l(e,r,t){if(!t)return[r];var n,o=function(e){var r="\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n ",t="\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n ",n=e.createShader(35633),o=e.createShader(35632),a=e.createProgram();if(!(o&&n&&a))return;e.shaderSource(n,r),e.shaderSource(o,t),e.compileShader(n),e.compileShader(o),e.attachShader(a,n),e.attachShader(a,o),e.linkProgram(a),e.detachShader(a,n),e.detachShader(a,o),e.deleteShader(n),e.deleteShader(o),e.useProgram(a);var c=e.createBuffer();e.bindBuffer(i,c),e.bufferData(i,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);var u=e.getAttribLocation(a,"aPosition");e.vertexAttribPointer(u,3,5126,!1,0,0),e.enableVertexAttribArray(u),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);var l=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,l),e.deleteProgram(a),e.deleteBuffer(c),l.join("")}(e),a="801621810",c="8016218135",l="80162181161",f=(null==u?void 0:u.isIpad)?[["a7",l,12],["a8",c,15],["a8x",c,15],["a9",c,15],["a9x",c,15],["a10",c,15],["a10x",c,15],["a12",a,15],["a12x",a,15],["a12z",a,15],["a14",a,15],["a15",a,15],["m1",a,15],["m2",a,15]]:[["a7",l,12],["a8",c,12],["a9",c,15],["a10",c,15],["a11",a,15],["a12",a,15],["a13",a,15],["a14",a,15],["a15",a,15],["a16",a,15],["a17",a,15]];return"80162181255"===o?n=f.filter(function(e){return e[2]>=14}):(n=f.filter(function(e){return e[1]===o})).length||(n=f),n.map(function(e){var r=e[0];return"apple ".concat(r," gpu")})}var f=function(e){function t(r){var t=this.constructor,n=e.call(this,r)||this;return Object.setPrototypeOf(n,t.prototype),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error);var d=[],s=[];function h(e,r){if(e===r)return 0;var t=e;e.length>r.length&&(e=r,r=t);for(var n=e.length,o=r.length;n>0&&e.charCodeAt(~-n)===r.charCodeAt(~-o);)n--,o--;for(var a,i=0;i<n&&e.charCodeAt(i)===r.charCodeAt(i);)i++;if(o-=i,0===(n-=i))return o;for(var c,u,l=0,f=0,h=0;f<n;)s[f]=e.charCodeAt(i+f),d[f]=++f;for(;h<o;)for(a=r.charCodeAt(i+h),c=h++,l=h,f=0;f<n;f++)u=a===s[f]?c:c+1,c=d[f],l=d[f]=c>l?u>l?l+1:u:u>c?c+1:u;return l}function p(e){return null!=e}e.getGPUTier=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return t(void 0,function(e,r,t){if(t||2===arguments.length)for(var n,o=0,a=r.length;o<a;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}([],e,!0),void 0,function(e){function r(e){return t(this,void 0,void 0,function(){var r,t,o,a,c,u,l,d,p,v,m,y,x,P,S,E,C,_,L,j,M,k,B,I,O,R,T;return n(this,function(n){switch(n.label){case 0:if(!(r=A(e)))return[2];t="".concat(g?"m":"d","-").concat(r).concat(s?"-ipad":"",".json"),o=i[t]=null!==(T=i[t])&&void 0!==T?T:w(t),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,o];case 2:return a=n.sent(),[3,4];case 3:if((c=n.sent())instanceof f)throw c;return[2];case 4:if(u=function(e){var r,t=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(r=null==t?void 0:t.join("").replace(/\W|amd/g,""))&&void 0!==r?r:""}(e),l=a.filter(function(e){return e[1]===u}),l.length||(l=a.filter(function(r){return r[0].includes(e)})),0===(d=l.length))return[2];for(p=e.split(/[.,()\[\]/\s]/g).sort().filter(function(e,r,t){return 0===r||e!==t[r-1]}).join(" "),v=d>1?l.map(function(e){return[e,h(p,e[2])]}).sort(function(e,r){return e[1]-r[1]})[0][0]:l[0],m=v[0],y=v[4],x=Number.MAX_VALUE,S=window.devicePixelRatio,E=b.width*S*b.height*S,C=0,_=y;C<_.length;C++)L=_[C],j=L[0],M=L[1],k=j*M,(B=Math.abs(E-k))<x&&(x=B,P=L);return P?(O=(I=P)[2],R=I[3],[2,[x,O,m,R]]):[2]}})})}var i,d,s,v,g,m,b,y,w,x,A,P,S,E,C,_,L,j,M,k,B,I,O,R,T,U=void 0===e?{}:e,D=U.mobileTiers,N=void 0===D?[0,15,30,60]:D,F=U.desktopTiers,G=void 0===F?[0,15,30,60]:F,K=U.override,W=void 0===K?{}:K,$=U.glContext,V=U.failIfMajorPerformanceCaveat,q=void 0!==V&&V,z=U.benchmarksURL,X=void 0===z?"https://unpkg.com/@grepp/detect-gpu@".concat("5.0.
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).DetectGPU={})}(this,function(e){"use strict";var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},r(e,t)};function t(e,r,t,n){return new(t||(t=Promise))(function(o,a){function i(e){try{u(n.next(e))}catch(e){a(e)}}function c(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(i,c)}u((n=n.apply(e,r||[])).next())})}function n(e,r){var t,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(u){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(t=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=r.call(e,a)}catch(e){c=[6,e],n=0}finally{t=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}"function"==typeof SuppressedError&&SuppressedError;var o=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function a(e){return e=e.toLowerCase().replace(/.*angle ?\((.+)\)(?: on vulkan [0-9.]+)?$/i,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const i=34962;var c="undefined"==typeof window,u=function(){if(!c){var e=window.navigator,r=e.userAgent,t=e.platform,n=e.maxTouchPoints,o=/(iphone|ipod|ipad)/i.test(r),a="iPad"===t||"MacIntel"===t&&n>0&&!window.MSStream;return{isIpad:a,isMobile:/android/i.test(r)||o||a,isSafari12:/Version\/12.+Safari/.test(r),isFirefox:/Firefox/.test(r)}}}();function l(e,r,t){if(!t)return[r];var n,o=function(e){var r="\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n ",t="\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n ",n=e.createShader(35633),o=e.createShader(35632),a=e.createProgram();if(!(o&&n&&a))return;e.shaderSource(n,r),e.shaderSource(o,t),e.compileShader(n),e.compileShader(o),e.attachShader(a,n),e.attachShader(a,o),e.linkProgram(a),e.detachShader(a,n),e.detachShader(a,o),e.deleteShader(n),e.deleteShader(o),e.useProgram(a);var c=e.createBuffer();e.bindBuffer(i,c),e.bufferData(i,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);var u=e.getAttribLocation(a,"aPosition");e.vertexAttribPointer(u,3,5126,!1,0,0),e.enableVertexAttribArray(u),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);var l=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,l),e.deleteProgram(a),e.deleteBuffer(c),l.join("")}(e),a="801621810",c="8016218135",l="80162181161",f=(null==u?void 0:u.isIpad)?[["a7",l,12],["a8",c,15],["a8x",c,15],["a9",c,15],["a9x",c,15],["a10",c,15],["a10x",c,15],["a12",a,15],["a12x",a,15],["a12z",a,15],["a14",a,15],["a15",a,15],["m1",a,15],["m2",a,15]]:[["a7",l,12],["a8",c,12],["a9",c,15],["a10",c,15],["a11",a,15],["a12",a,15],["a13",a,15],["a14",a,15],["a15",a,15],["a16",a,15],["a17",a,15]];return"80162181255"===o?n=f.filter(function(e){return e[2]>=14}):(n=f.filter(function(e){return e[1]===o})).length||(n=f),n.map(function(e){var r=e[0];return"apple ".concat(r," gpu")})}var f=function(e){function t(r){var t=this.constructor,n=e.call(this,r)||this;return Object.setPrototypeOf(n,t.prototype),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error);var d=[],s=[];function h(e,r){if(e===r)return 0;var t=e;e.length>r.length&&(e=r,r=t);for(var n=e.length,o=r.length;n>0&&e.charCodeAt(~-n)===r.charCodeAt(~-o);)n--,o--;for(var a,i=0;i<n&&e.charCodeAt(i)===r.charCodeAt(i);)i++;if(o-=i,0===(n-=i))return o;for(var c,u,l=0,f=0,h=0;f<n;)s[f]=e.charCodeAt(i+f),d[f]=++f;for(;h<o;)for(a=r.charCodeAt(i+h),c=h++,l=h,f=0;f<n;f++)u=a===s[f]?c:c+1,c=d[f],l=d[f]=c>l?u>l?l+1:u:u>c?c+1:u;return l}function p(e){return null!=e}e.getGPUTier=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return t(void 0,function(e,r,t){if(t||2===arguments.length)for(var n,o=0,a=r.length;o<a;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}([],e,!0),void 0,function(e){function r(e){return t(this,void 0,void 0,function(){var r,t,o,a,c,u,l,d,p,v,m,y,x,P,S,E,C,_,L,j,M,k,B,I,O,R,T;return n(this,function(n){switch(n.label){case 0:if(!(r=A(e)))return[2];t="".concat(g?"m":"d","-").concat(r).concat(s?"-ipad":"",".json"),o=i[t]=null!==(T=i[t])&&void 0!==T?T:w(t),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,o];case 2:return a=n.sent(),[3,4];case 3:if((c=n.sent())instanceof f)throw c;return[2];case 4:if(u=function(e){var r,t=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(r=null==t?void 0:t.join("").replace(/\W|amd/g,""))&&void 0!==r?r:""}(e),l=a.filter(function(e){return e[1]===u}),l.length||(l=a.filter(function(r){return r[0].includes(e)})),0===(d=l.length))return[2];for(p=e.split(/[.,()\[\]/\s]/g).sort().filter(function(e,r,t){return 0===r||e!==t[r-1]}).join(" "),v=d>1?l.map(function(e){return[e,h(p,e[2])]}).sort(function(e,r){return e[1]-r[1]})[0][0]:l[0],m=v[0],y=v[4],x=Number.MAX_VALUE,S=window.devicePixelRatio,E=b.width*S*b.height*S,C=0,_=y;C<_.length;C++)L=_[C],j=L[0],M=L[1],k=j*M,(B=Math.abs(E-k))<x&&(x=B,P=L);return P?(O=(I=P)[2],R=I[3],[2,[x,O,m,R]]):[2]}})})}var i,d,s,v,g,m,b,y,w,x,A,P,S,E,C,_,L,j,M,k,B,I,O,R,T,U=void 0===e?{}:e,D=U.mobileTiers,N=void 0===D?[0,15,30,60]:D,F=U.desktopTiers,G=void 0===F?[0,15,30,60]:F,K=U.override,W=void 0===K?{}:K,$=U.glContext,V=U.failIfMajorPerformanceCaveat,q=void 0!==V&&V,z=U.benchmarksURL,X=void 0===z?"https://unpkg.com/@grepp/detect-gpu@".concat("5.0.87","/dist/benchmarks"):z;return n(this,function(e){switch(e.label){case 0:if(i={},c)return[2,{tier:0,type:"SSR"}];if(d=W.isIpad,s=void 0===d?!!(null==u?void 0:u.isIpad):d,v=W.isMobile,g=void 0===v?!!(null==u?void 0:u.isMobile):v,m=W.screenSize,b=void 0===m?window.screen:m,y=W.loadBenchmarks,w=void 0===y?function(e){return t(void 0,void 0,void 0,function(){var r;return n(this,function(t){switch(t.label){case 0:return[4,fetch("".concat(X,"/").concat(e)).then(function(e){return e.json()})];case 1:if(r=t.sent(),parseInt(r.shift().split(".")[0],10)<4)throw new f("Detect GPU benchmark data is out of date. Please update to version 4x");return[2,r]}})})}:y,x=W.renderer,A=function(e){for(var r=0,t=g?["adreno","apple","mali-t","mali","nvidia","powervr","samsung"]:["intel","apple","amd","radeon","nvidia","geforce","adreno"];r<t.length;r++){var n=t[r];if(e.includes(n))return n}},P=function(e,r,t,n,o){return{device:o,fps:n,gpu:t,isMobile:g,tier:e,type:r}},E="",x)x=a(x),S=[x];else{if(C=$||function(e,r){void 0===r&&(r=!1);var t={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:r,powerPreference:"high-performance",stencil:!1};e&&delete t.powerPreference;var n=window.document.createElement("canvas"),o=n.getContext("webgl",t)||n.getContext("experimental-webgl",t);return null!=o?o:void 0}(null==u?void 0:u.isSafari12,q),!C)return[2,P(0,"WEBGL_UNSUPPORTED")];if(_=(null==u?void 0:u.isFirefox)?null:C.getExtension("WEBGL_debug_renderer_info"),!(x=_?C.getParameter(_.UNMASKED_RENDERER_WEBGL):C.getParameter(C.RENDERER)))return[2,P(1,"FALLBACK")];E=x,x=a(x),S=function(e,r,t){return"apple gpu"===r?l(e,r,t):[r]}(C,x,g)}return[4,Promise.all(S.map(r))];case 1:if(L=e.sent().filter(p).sort(function(e,r){var t=e[0],n=void 0===t?Number.MAX_VALUE:t,o=e[1],a=r[0],i=void 0===a?Number.MAX_VALUE:a,c=r[1];return n===i?o-c:n-i}),!L.length)return[2,(j=o.find(function(e){return x.includes(e)}))?P(0,"BLOCKLISTED",j):P(1,"FALLBACK","".concat(x," (").concat(E,")"))];if(M=L[0],k=M[1],B=M[2],I=M[3],-1===k)return[2,P(0,"BLOCKLISTED",B,k,I)];for(O=g?N:G,R=0,T=0;T<O.length;T++)k>=O[T]&&(R=T);return[2,P(R,"BENCHMARK",B,k,I)]}})})}});
|
|
2
2
|
//# sourceMappingURL=detect-gpu.umd.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grepp/detect-gpu",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.87",
|
|
4
4
|
"description": "Classify GPU's based on their benchmark score in order to provide an adaptive experience.",
|
|
5
5
|
"author": "Tim van Scherpenzeel",
|
|
6
6
|
"license": "MIT",
|
|
@@ -53,15 +53,15 @@
|
|
|
53
53
|
"@types/jest": "^29.5.3",
|
|
54
54
|
"@typescript-eslint/eslint-plugin": "^6.4.0",
|
|
55
55
|
"@typescript-eslint/parser": "^6.4.0",
|
|
56
|
-
"csvtojson": "^2.0.
|
|
56
|
+
"csvtojson": "^2.0.13",
|
|
57
57
|
"eslint": "^8.4.1",
|
|
58
58
|
"eslint-config-prettier": "^9.0.0",
|
|
59
59
|
"eslint-plugin-prettier": "^5.0.0",
|
|
60
60
|
"jest": "^29.6.2",
|
|
61
|
-
"jest-environment-jsdom": "^29.
|
|
61
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
62
62
|
"moment": "^2.29.1",
|
|
63
63
|
"prettier": "^3.0.1",
|
|
64
|
-
"puppeteer": "^24.
|
|
64
|
+
"puppeteer": "^24.26.1",
|
|
65
65
|
"rimraf": "^5.0.1",
|
|
66
66
|
"rollup": "^3.28.0",
|
|
67
67
|
"rollup-plugin-commonjs": "^10.1.0",
|