loli
1
前文 小小折腾了下 JPEGView - #53,来自 loli
鉴于 jpegview 在浏览大图切换滞后感很重.
于是有动手肝个图片浏览器的想法
现在个人所需要的核心大部分已经完成了
更多的文件预读
无边框
直接拖拽就能移动界面
根据图片变化的透明背景
文件信息栏背景自动变化 (解决在图片过亮时看不清)
类似 jpegview 左下的缩略图
图片自适应宽度
单实例
关闭时不退出(加快启动速度)
当我准备让人测试一下时崩溃了
如图,右边是我本地的版本 依赖于框架(7个文件 不到1MB)
左边是自带框架的版本 (500+文件 153+MB)
看见就想吐血,我自己遇见这种大小的软件除非真有必要,不然就是直接无视绕开…
现在就有种"自爆自弃"的想法
既然别人运行这么复杂,干脆后面的设置界面,快捷键自定义等等全不做了
直接写死算了了,反正就自己一个人用,做那些估计是吃力不讨好
所以大家对这种打包后巨大的程序是怎么看的…
我连一个electron都不想装
说到electron, 它的一个缺点这也有
占用问题, jpegview直接打开无文件时内存占用2MB,后续占用一般不超过500mb
我这个打开后30MB,后续轻松超过2G…
关闭不退出时占用100+MB(有时内存没释放好就可能2G+一直在后台占着…)
虽然我占用这么多是有理由的(解决上面说的滞后感问题,以内存换取速度)
但一般人看见一个图片浏览器占用几个G是什么想法…
更加加重了我的"自爆自弃"想法.
astro
2
有些dll类库可以删掉的,你可以测试,如果删掉打开exe没问题的话,直接删了就是了。
现在一个程序几百MB也不算什么事吧,7z压缩一下也才几十MB,
所以你说的问题,基本上不算大问题。
要么降级到 .NET Framework,系统自带的有;要么就让用户安装运行时,起码还有可能跟别的程序分摊下成本(比如 PowerToys)。
看到这句话很心酸…
我用易语言开发软件,网上罗列的易语言十大罪状中一条,就是编译出来的程序体积“巨大”,一个空窗口竟然都要“几百K”,随便写个程序就要1M多,不简洁,效率低…55555…
1 个赞
loli
5
这是对比出来的.
我说的 JPEGView 总共不到2MB
Honeyview 之类20MB
我自己都不能接受一个功能简单核心功能不突出的巨大软件…
据说 Win10 预装了 .net framework 4.5 以上的版本,
即便不打包 .net framework, 说不定也能在别人的 Win10 上运行.
2 个赞
.net的可以要求用户装运行库嘛,这个我觉得还好,能装公共runtime的都不是大问题。
确实现在的框架越来越大了,其实.net还不算特别明显,常见的两种一个是qt,这个好像还只能每个项目自带dll,另一个就是electron了,不光体积大,跑起来还特别吃资源。
1 个赞
foyax
9
所以很多人看不上electron和net系软件,依赖多占用大性能低。
感觉用个胶水语言调用底层库比这些强多了,比如可以Ahk+imgui写,ahk简单,imgui调用GPU,性能无虞。
在这里甚至有很多成品,把几个示例融合下几乎就是一个简陋图片浏览器了。
1 个赞
可是底层库比较难掌握, 用 html、xml 比用 imgui 等底层库自绘界面要简单很多
「 胶水语言+底层库 」适合本来就会用底层库的选手
1 个赞
loli
11
我还真尝试过AHK的图片浏览器
Quick Picto Viewer v5+
https://www.autohotkey.com/boards/viewtopic.php?f=6&t=65584
近8W行的单个ahk文件
难以想像,就没见过更复杂的ahk"脚本"了
刚去看了下GitHub更新时间 17小时前…
这作者就像他的ID一样 就是个机器人…
虽然这样,但用起来真的一言难尽
我是在用photoshop浏览图片吗?
我在用的到底是个图片浏览器还是图片编辑器?
纯图片浏览速度比JPEGView差远了…
另外一个他的快捷键也写死了…
其实就图片浏览器这个简单东西来说,感觉最大的性能就在于IO了. …
我当前的线程感觉也是阻塞在io了,有点像伪多线程了.
多线程还是难点,目前只能说勉强能运行了.
1 个赞
loli
12
我用是net6, 这是VS2022的默认选择
听说net6提升很大,IO方面提升宣传也很厉害
不知道是否有必要为了兼容性降到4.8
目前还不算复杂,降一下也很简单
mpv net 就是4.8的
自己fork了一个版本,
写起来倒也没啥差别
添加了音频设备切换,文件夹切换,打开所在文件夹等脚本能实行的功能
关联带图标
核心是添加了一个新的运行模式,只加载同类型的文件
可以同时存在三个mpv,一个音频,一个视频,一个图片(真有人用mpv浏览图片?)互不影响
不过翻译文件没上传上去,我在等源更新看看能不能合并
上一次修改太多合并失败了,这次把功能都添加到一个新文件中
看看能不能合并
1 个赞
haitao
13
不用界面也可以 只读取配置文件,实现灵活配置。
需要用户自行编辑修改 配置模板,只要配置项简单明确或者有说明 就行了。
1 个赞
loli
14
还没到那一步呢
设置文件都没有,目前都写死了
不过我也是真不想写界面
目前界面连最大化最小化的图标都没有…
复刻JPEGView的缩略图都弄了好久…
最后实现还不完美(缩略图不会随窗口缩小,横屏的缩略图位置有问题等等)
还是折腾这些细节部分
https://s1.328888.xyz/2022/08/17/3Tq0s.gif
1 个赞
ICEBOX
15
可以接受安装运行时。我讨厌electron的理由就是,electron非常大,而且没办法分享部分文件,webview2就是纯纯好文明了。
1 个赞
看图软件几百兆,我接受不了。就简单看个图,要不是自带看图软件坏了,我才懒得折腾。
1 个赞
看图软件的话, 试试 imagemagic 的开源库, 很多看图软件都是基于这个开发的.
至于框架, 如果你用c#是逃不开的.
1 个赞
这就跟我小时候穿棉裤一个感觉,不穿吧,冷,穿吧,基本上就没法动了。世间安得两全法啊
3 个赞
ury
21
手上只有一个blazor wasm的项目冲在前面,未来尝试maui估计也要冲。桌面软件一律用.net framework,写起来差不太多,编译出来小就是香。费劲去给根本不懂技术的用户解释为什么软件这么大,什么是运行时,没必要,他们也不想知道
1 个赞