在我的网站上,我现在将上传的图像转换为webp,因为它比其他格式小,因此用户加载页面的速度更快(也适用于移动用户)。但是转换中等图像需要花费一些时间。
<style name="BottomNavigation.ActiveItemTextAppearance" parent="TextAppearance.AppCompat">
<item name="android:textStyle">bold</item>
<item name="android:fontFamily">@font/whatever</item>
</style>
转换此后继图像需要2.8秒:
860 KB,1920 x 1080
我的内存是8gb ram,带有4核处理器(Intel I5),没有GPU。
我正在使用app:itemTextAppearanceActive="@style/BottomNavigation.ActiveItemTextAppearance"
。
是否有更快的方法将图像更快地转换为WEBB。 2,8秒似乎要等待很长时间。
答案 0 :(得分:2)
如果您希望它们快速完成,请使用uses
..., IdHTTP, Dialogs;
function PostExample: string;
var
lHTTP: TIdHTTP;
lParamList: TStringList;
begin
lParamList := TStringList.Create;
try
lParamList.Add('id=1');
lHTTP := TIdHTTP.Create;
try
Result := lHTTP.Post('http://192.168.1.247:8001/test/test_api/', lParamList);
finally
lHTTP.Free;
end;
finally
lParamList.Free;
end;
end;
procedure http;
begin
ShowMessage(PostExample());
end;
。因此,拍摄1920x1080的图像并在终端中使用vips
:
vips
在我的MacBook Pro上花费0.3s,即比PIL实现的3s快10倍。
如果您希望快速完成很多工作,请使用 GNU Parallel 和vips webpsave autumn.jpg autumn.webp --Q 70
。因此,我制作了100张图片并将其全部转换为WEBP,如下所示:
vips
每100张图像需要4.9秒的时间,也就是说,它比PIL实现的3秒要快50倍。
您还可以使用parallel vips webpsave {} {#}.webp --Q 70 ::: *jpg
绑定-我对此不是专家,但是也可以用0.3s:
pyvips
因此,我最好的建议是采用上述两行代码,并使用多处理池或多线程方法来获取整个图像目录。看起来可能像这样:
#!/usr/bin/env python3
import pyvips
# VIPS
img = pyvips.Image.new_from_file("autumn.jpg", access='sequential')
img.write_to_file("autumn.webp")
在使用NVME磁盘的12核MacBook Pro上,需要3.3秒的时间将图像的100份副本转换为WEBP等效文件。