V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hez2010  ›  全部回复第 11 页 / 共 25 页
回复总数  486
1 ... 7  8  9  10  11  12  13  14  15  16 ... 25  
@nothingistrue 然而根本就不是「最低安装目标级别提高到 23 」这种变更。

你要知道各种 explorer patcher 插件的原理:注入他们自己的 dll 到 explorer.exe 进程中,替换掉某个内存地址上的函数指针指向他们插件自己的函数来实现自动自定义逻辑,然后这个内存地址还是通过各种逆向工具 dump 出来的。

explorer 自己往自己某个私有类型里加了个私有函数自己用,结果因为这样使得你的插件应该 hack 的地址偏移变了导致崩溃,这总不能是 explorer 的问题吧?
explorer 的 api 从来都是 undocumeted 的,自然也就不存在任何的兼容性保证。
282 天前
回复了 unt 创建的主题 程序员 C#混合 Java 开发
如果你的 jar 是 target 到 Java8 的话可以直接通过 ikvm 来调用。
使用方法也很简单,c# 项目里直接引用 jar 包就能直接用了。
https://github.com/ikvmnet/ikvm
285 天前
回复了 hez2010 创建的主题 程序员 给 .NET 实现了 Const Generics
@thinkershare 算术约束我已经另一个分支实现了 prototype ,只不过最终实现方案还有待讨论。
285 天前
回复了 hez2010 创建的主题 程序员 给 .NET 实现了 Const Generics
@nulIptr 我倾向于叫他 const generics ,因为和 rust 的 const generics 比较像。
另外,实现 typescript 那种 literal types 我们之前也考虑过,但是拒绝了,因为无法忍受每一个字面量都需要在运行时带上一个 TypeDesc 的开销,并且单纯的 literal types 除了能做体操之外意义不是很大,所以我们倾向于只做类似 C++ 和 Rust 那样的模板值特化。想要 literal types 的话没必要做在 runtime 层面,停留在 C# 编译器层面就行了。
这个特性目前还有一部分内容在设计中,例如算术约束和依赖类型等,我也是最近才刚刚完成了 CoreCLR 部分的实现。所以 .net 9 能不能有我不是很清楚,只是说最早能在 .net 9 实装。
297 天前
回复了 basncy 创建的主题 Windows windows 居然搞不定出站端口转发...
有一个简单的方法是你可以安装 npcap ,npcap 在 Windows 上实现了个自己的驱动,然后你利用 npcap 的 sdk 进行开发就能不需要碰内核态代码也能做到自己想做的东西。
297 天前
回复了 basncy 创建的主题 Windows windows 居然搞不定出站端口转发...
Windows 在 XP 之前还是暴露了完整的用户态操作 socket 网络栈的能力的,从 Vista 开始因为这么搞容易被病毒利用于是就把用户态能干的事情砍的剩不了多少了。
现在如果你想自定义 Windows 的网络栈的话,可能唯一方法是编写 Windows 驱动。
297 天前
回复了 002mn 创建的主题 Windows 求助: Windows 任务栏图标闪烁,救救孩子吧
windows 卡顿一下这个问题可能是什么第三方软件造成的。
我之前买了 LG 的显示器之后装了他家的显示器控制中心软件,鼠标突然就开始随机变得非常卡顿,卸载之后就正常了。
308 天前
回复了 mmddisa 创建的主题 PowerShell oh-my-posh 导致 powershell 启动缓慢
PowerShell 会连接微软服务器校验加载的模块的数字签名,网络不好的话就会启动时间很长,因为一直会等到网络超时。
有个方法是启动 pwsh 的时候带上参数 -noni ,不过这样会导致 PowerShell 不能交互式地处理命令(比如命令执行中途询问你输入什么的)。
@wxf666 估计哪里的内存没释放吧,其实你反复切换语言内存也会一直往上涨不会往下掉,这得跑 memory profiler 才能知道原因,数据结构好好设计一下的话是可以做的内存占用几乎维持刚启动时占用不变的,不过这是个随便写的 demo 无所谓了。
Avalonia 的话有个 80mb 左右的常数内存占用,再往上就看代码的算法和数据结构了,和框架本身关系倒不是很大。
notepad 那俩毕竟是下了大功夫优化了占用的 app 。
@wxf666 我的 tokenizer 没做虚拟化,你粘贴的代码文本是一次性全部进行高亮处理保存在内存里的,而不是只处理显示出来的那些代码。如果你想公平比较的话,建议只贴正好占一个窗口那么多的代码量。
@nikenidage1 Avalonia 官网确实没写。我姑且算是 Avalonia 项目的代码贡献者之一所以有了解到这些东西。
@wxf666 体积主要取决于开发者发布时有没有做代码裁减,默认不开,开了之后成品一般在 30mb 往上,不开的话 100mb 往上。
由于是 gpu 加速渲染,渲染后端走的 angle ,内存占用确实是 100mb+。如果关掉 gpu 渲染走软件渲染的话内存占用就只会有 30mb 左右。
至于那个 ui 设计软件,他们在内存里载入了自己的素材库和本地 ai 模型来辅助设计,内存占用自然比较大。

不过也没什么可说的,Avalonia 的体积就是 30mb 起步,启用 angle 后端做硬件加速渲染内存占用 100mb 起步,仅使用软件渲染内存占用 30mb 起步。

这里放两个拿 Avalonia 写的仿 vscode 的全功能代码编辑器,自带多种主题和多语言的代码高亮,一个是开启 gpu 渲染的 angle 版本,一个是采用软件渲染的 software 版本,并且采用了 nativeaot 编译,你可以试试:

gpu 加速渲染:
https://1drv.ms/u/s!ApWNk8G_rszRgrZ47r4LrTUlPupSRA?e=XcbR18

软件渲染:
https://1drv.ms/u/s!ApWNk8G_rszRgrZ5LOnqPDLtcKyrqA?e=C4AP86
@nikenidage1 Avalonia 11 的内存占用稍微大了一些其实是因为启用了新的 GPU 加速的合成渲染器,这个渲染器性能很好但是有一定的内存占用,虽然这部分内存占用其实不来自 Avalonia ,而是来自 ANGLE (一个 OpenGL ES 库)。
如果想要回归到原来的那种软件渲染可以在你的 Program.cs 的 BuildAvaloniaApp 函数里面加

```csharp
.With(new Win32PlatformOptions
{
RenderingMode = new[] { Win32RenderingMode.Software }
})
```

内存占用立即降到只有 30mb 左右。
Avalonia 11.0: https://github.com/AvaloniaUI/Avalonia

文档: https://avaloniaui.net/GettingStarted

对于你说的条件全部满足,写完之后采用 NativeAOT 编译即可达到双击立即启动的水平,并且不需要携带运行时。不过注意其中 macOS arm64 架构的 NativeAOT 需要用 .NET 8 的 sdk 。

像 Unity 、JetBrains 、GitHub 之类的厂商也都在用 Avalonia 。
316 天前
回复了 iamee 创建的主题 程序员 我对于代码可读性的理解
谈可读性的前提是大家拥有相似的认知水平,认知水平相差太大就会导致一个人觉得很好读而另一个觉得不好读的情况发生。
比如你对一个熟悉函数式语言的人讲使用 pattern matching 有助于提升可读性,他大概率会同意你的观点;而你对一个跟没有怎么接触过函数式语言的人讲这件事情,他大概率觉得你在胡扯,而反倒觉得尽可能使用基础的控制流语句才是提升可读性的方法。
316 天前
回复了 Planehi 创建的主题 .NET .net 下 rabbitmq 库选择问题
之前用过官方的 rabbitmq 库,个人感觉还挺好用的,而且性能上也做得很好。
https://github.com/rabbitmq/rabbitmq-dotnet-client
318 天前
回复了 CForce 创建的主题 Windows 桌面应用开发求大佬推荐技术方案
推荐 Avalonia (11.0 版本),跨平台并且原生支持 GPU 加速,还支持 nativeaot 编译出原生二进制代码。
@arfaWong 那是 Google ANGLE 的 dll ,虽然可以静态链接进去但是作者没这么做。
1 ... 7  8  9  10  11  12  13  14  15  16 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1178 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 18:17 · PVG 02:17 · LAX 11:17 · JFK 14:17
Developed with CodeLauncher
♥ Do have faith in what you're doing.