首页 文章 精选 留言 我的

精选列表

搜索[编写],共10033篇文章
优秀的个人博客,低调大师

Rust 编写的 Linux 网络驱动新增实验性补丁

Linux 内核在本周末新增了一组补丁,主要是为 Linux 网络设备驱动的 Rust 抽象打下基础,以便 Rust 代码能够用于构建新的网络设备驱动。这些补丁还包括一个虚拟的 Rust 网络驱动程序。 据介绍,长期内核开发者 Fujita Tomonori 在周日发布了这组补丁,包括提供网络设备驱动程序的 Rust 抽象和初始的 Rust 虚拟驱动程序,以帮助审查早期代码。到目前为止,网络子系统中 Rust 的实际硬件设备驱动程序还没有发布。 目前,这 800 行新 Rust 代码已发布到 rust-for-linux,以便在将其提交给更广泛的 Linux 网络驱动开发社区之前进行早期审查。 Linux 内核主线现在仍在继续进行许多不同的 Rust 工作,而到目前为止合并的主要是基础设施、子系统抽象,同时在等待任何值得关注的 Rust 驱动 —— 比如 Apple DRM 内核驱动,为上游做好准备。

优秀的个人博客,低调大师

Ambient 0.1 发布,Rust 编写的高性能多人游戏引擎

经过一年多的开发,Ambient 终于发布了 0.1 版本,这是一款采用 Rust 构建的开源多人游戏引擎。 据介绍,Ambient 是一个用于构建高性能多人游戏和 3D 应用程序的 runtime,使用了 WebAssembly 和 WebGPU 技术,与任何编译为 WebAssembly 或在 WebAssembly 上运行的语言兼容,旨在使构建和部署丰富的多人游戏世界和体验变得容易。其开发团队表示,通过Ambient,他们希望构建多人游戏与构建单人游戏一样简单。 特性 Seamless networking:Ambient 既用作服务器,同时也是客户端。开发者只需构建服务器和客户端逻辑,Ambient 可自动处理数据同步。 独立沙盒:开发者为 Ambient 构建的项目通过WebAssembly的隔离功能执行。因此如果出现崩溃,它不会破坏整个程序,这也意味着可以安全地运行不受信任的代码。 面向数据的设计:Ambient 的核心数据模型是每个 WASM 模块都可以操作的实体组件系统。 多语言:开发者能够使用任何可以编译为 WebAssembly 的语言构建 Ambient 模块(目前,Rust 是唯一受支持的语言,团队正在努力扩展到其他语言) 单一可执行文件:Ambient 是一个单一的可执行文件,可以在 Windows、Mac 和 Linux 上运行。它可以充当服务器或客户端。 互操作性:Ambient 允许定义自定义组件和 "concepts"(组件集合)。只要 Ambient 项目使用相同的组件和 "concepts",它们就能够共享数据和互操作。 Asset管道和流处理:Ambient 包含Asset 管道,支持编译多种 asset 格式,包括.glb和.fbx。asset 通过网络流式传输,因此客户端在加入时能够接收所需的一切数据。 强大的渲染器:Ambient 渲染器由 GPU 驱动,裁剪 (Culling) 和细节级别切换完全由 GPU 处理。默认情况下,它使用PBR,此外还支持级联阴影贴图和实例化所有可以实例化的东西。 示例 首先安装 Ambient,然后创建一个新的 Ambient 项目: ambient new 接着打开 _src/lib.rs_,将以下内容添加到 main 函数中,让 IDE 自动导入: spawn_query(player()).bind(move |players| { for _ in players { Entity::new() .with_merge(make_transformable()) .with_default(cube()) .with(translation(), rand::random()) .with(color(), rand::random()) .spawn(); } }); 这将为每个加入的玩家生成一个随机立方体(完整示例点此查看)。开始启动: ambient run 运行上述命令后会看到如下画面: 现在打开一个新的终端窗口,然后输入: ambient join 这时会看到两个框,也就意味已经成功使用 Ambient 构建了第一个多人游戏体验。 Ambient 开发团队介绍了创建项目的初衷,他们发现许多游戏引擎都针对构建单人游戏进行了优化,但很少有旨在简化多人游戏的游戏引擎。于是他们很好奇:如果要让多人游戏能像单人游戏一样容易使用,该如何构建?当开发者从网络的细节中解放出来时,可以想象怎样的非凡体验——新的和有趣的互动? Ambient 便是他们回答这些问题的开始:一个旨在让各种开发者能够构建和分享他们想要构建的体验的运行时。然而,这里的问题不仅仅在于做好客户端-服务器通信。它还包括多人游戏开发中出现的所有其他挑战:服务器资源、分发游戏、可持续地以服务形式运行游戏、与用户交互等等。运行时只是他们朝着这个方向迈出的第一步,接下来还要解决许多其他问题。 Ambient 采用了 MIT License,其团队表示,这是因为他们的目标是建立一个标准来让大家构建多人游戏。作为一家公司,他们的计划是为将采取“货币化”的运行时提供增值服务(包括服务器和资产托管),但运行时本身永远免费和开源。作为运行时的用户,他们可以选择使用 Ambient 团队提供的部分服务,以及选择自己实现其他服务。 未来,开发团队表示 Ambient 将会支持部署到 Web,支持更多可编译成 WebAssembly 的语言(目前只有 Rust),并提供协作编辑器。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册