V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hez2010  ›  全部回复第 16 页 / 共 30 页
回复总数  583
1 ... 12  13  14  15  16  17  18  19  20  21 ... 30  
2023-08-07 12:27:49 +08:00
回复了 hez2010 创建的主题 程序员 给 .NET 实现了 Const Generics
@thinkershare 算术约束我已经另一个分支实现了 prototype ,只不过最终实现方案还有待讨论。
2023-08-07 10:20:14 +08:00
回复了 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 实装。
2023-07-26 19:51:04 +08:00
回复了 basncy 创建的主题 Windows windows 居然搞不定出站端口转发...
有一个简单的方法是你可以安装 npcap ,npcap 在 Windows 上实现了个自己的驱动,然后你利用 npcap 的 sdk 进行开发就能不需要碰内核态代码也能做到自己想做的东西。
2023-07-26 19:49:06 +08:00
回复了 basncy 创建的主题 Windows windows 居然搞不定出站端口转发...
Windows 在 XP 之前还是暴露了完整的用户态操作 socket 网络栈的能力的,从 Vista 开始因为这么搞容易被病毒利用于是就把用户态能干的事情砍的剩不了多少了。
现在如果你想自定义 Windows 的网络栈的话,可能唯一方法是编写 Windows 驱动。
2023-07-26 19:46:19 +08:00
回复了 002mn 创建的主题 Windows 求助: Windows 任务栏图标闪烁,救救孩子吧
windows 卡顿一下这个问题可能是什么第三方软件造成的。
我之前买了 LG 的显示器之后装了他家的显示器控制中心软件,鼠标突然就开始随机变得非常卡顿,卸载之后就正常了。
2023-07-15 14:35:34 +08:00
回复了 mmddisa 创建的主题 PowerShell oh-my-posh 导致 powershell 启动缓慢
PowerShell 会连接微软服务器校验加载的模块的数字签名,网络不好的话就会启动时间很长,因为一直会等到网络超时。
有个方法是启动 pwsh 的时候带上参数 -noni ,不过这样会导致 PowerShell 不能交互式地处理命令(比如命令执行中途询问你输入什么的)。
2023-07-09 17:48:53 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@wxf666 估计哪里的内存没释放吧,其实你反复切换语言内存也会一直往上涨不会往下掉,这得跑 memory profiler 才能知道原因,数据结构好好设计一下的话是可以做的内存占用几乎维持刚启动时占用不变的,不过这是个随便写的 demo 无所谓了。
Avalonia 的话有个 80mb 左右的常数内存占用,再往上就看代码的算法和数据结构了,和框架本身关系倒不是很大。
notepad 那俩毕竟是下了大功夫优化了占用的 app 。
2023-07-09 16:30:57 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@wxf666 我的 tokenizer 没做虚拟化,你粘贴的代码文本是一次性全部进行高亮处理保存在内存里的,而不是只处理显示出来的那些代码。如果你想公平比较的话,建议只贴正好占一个窗口那么多的代码量。
@nikenidage1 Avalonia 官网确实没写。我姑且算是 Avalonia 项目的代码贡献者之一所以有了解到这些东西。
2023-07-08 22:44:26 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@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 左右。
2023-07-08 11:27:53 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
Avalonia 11.0: https://github.com/AvaloniaUI/Avalonia

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

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

像 Unity 、JetBrains 、GitHub 之类的厂商也都在用 Avalonia 。
2023-07-07 20:37:17 +08:00
回复了 iamee 创建的主题 程序员 我对于代码可读性的理解
谈可读性的前提是大家拥有相似的认知水平,认知水平相差太大就会导致一个人觉得很好读而另一个觉得不好读的情况发生。
比如你对一个熟悉函数式语言的人讲使用 pattern matching 有助于提升可读性,他大概率会同意你的观点;而你对一个跟没有怎么接触过函数式语言的人讲这件事情,他大概率觉得你在胡扯,而反倒觉得尽可能使用基础的控制流语句才是提升可读性的方法。
2023-07-07 11:58:55 +08:00
回复了 Planehi 创建的主题 .NET .net 下 rabbitmq 库选择问题
之前用过官方的 rabbitmq 库,个人感觉还挺好用的,而且性能上也做得很好。
https://github.com/rabbitmq/rabbitmq-dotnet-client
2023-07-05 12:24:27 +08:00
回复了 CForce 创建的主题 Windows 桌面应用开发求大佬推荐技术方案
推荐 Avalonia (11.0 版本),跨平台并且原生支持 GPU 加速,还支持 nativeaot 编译出原生二进制代码。
2023-07-05 08:40:36 +08:00
回复了 aim467 创建的主题 程序员 哪种语言编写的程序转成可执行文件比较方便(exe / binary file) ?
@arfaWong 那是 Google ANGLE 的 dll ,虽然可以静态链接进去但是作者没这么做。
2023-07-05 08:11:31 +08:00
回复了 aim467 创建的主题 程序员 哪种语言编写的程序转成可执行文件比较方便(exe / binary file) ?
2023-07-05 08:09:53 +08:00
回复了 aim467 创建的主题 程序员 哪种语言编写的程序转成可执行文件比较方便(exe / binary file) ?
要不试试 bflat ,go 工具链体验版本的 c#,默认就是 nativeaot ,既具备交叉编译同时类库还比 go 丰富得多,出来的体积还比 go 更小。
既然是命令行工具那也就没有什么所谓的 nativeaot 限制,基本想咋用就咋用。
其实就算是 gui 应用你拿 avalonia 写照样不存在限制,人家原生就支持 nativeaot 。
2023-07-03 20:07:20 +08:00
回复了 a719114136 创建的主题 Windows win 下的桌面应用开发求推荐几个好的技术选型
如果是 Windows 应用开发的话建议首选 WinUI 3 ,既能遵守平台原生设计风格,对系统各种 API 调用也更方便。
如果需要跨平台的话可以用 Avalonia (指 11.0 版本),这几乎是除了 UWP/WinUI 之外唯一一个实现了渲染合成分离架构渲染器的 GUI 框架,可以确保无论什么时候都能有流畅的动画,还能通过 Native AOT 编译直接输出原生二进制。
当然开发 Windows 应用也可以用 Avalonia ,可以把主题从自带的那个换成 FluentAvalonia 的包就有完整的 Win 11 Fluent Design 样式了,并且就算带了这个样式也还是跨平台的。
2023-07-01 15:23:40 +08:00
回复了 diagnostics 创建的主题 Android 安卓杀后台这么严重吗?高德导航都没法导完全?
@diagnostics 在电池设置里有个优化选项。
1 ... 12  13  14  15  16  17  18  19  20  21 ... 30  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5401 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 02:50 · PVG 10:50 · LAX 18:50 · JFK 21:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.