断线重连和断线重登
在Unity游戏开发中,”断线重连” 和 “断线重登” 在处理Session(会话)方面有细微但重要的区别,这直接影响到是否需要重新创建Session: 1. 断线重连 (Reconnect): 目标: 在网络短暂中断后,尝试恢复到之前的游戏状态,让玩家尽可能无缝地继续游戏。 Session处理: 理想情况: 尽量 不 重新创建Session。客户端应该尝...
在Unity游戏开发中,”断线重连” 和 “断线重登” 在处理Session(会话)方面有细微但重要的区别,这直接影响到是否需要重新创建Session: 1. 断线重连 (Reconnect): 目标: 在网络短暂中断后,尝试恢复到之前的游戏状态,让玩家尽可能无缝地继续游戏。 Session处理: 理想情况: 尽量 不 重新创建Session。客户端应该尝...
在 ET 框架中,MainThreadSynchronizationContext 的作用是确保所有的异步任务都在主线程中执行,从而实现单线程协程模型。这个类的核心功能是通过 同步上下文(SynchronizationContext) 来控制异步任务的执行线程。 1. MainThreadSynchronizationContext 的作用 MainThreadSynchronizat...
ETTask相比于Task的优点: 生成代码极简,去除了多线程的支持,性能最好 对象池消除了Task GC 去掉了ETVoid 借助DeepSeek的辅助,从 设计目标、核心组件、工作原理 和 使用场景 四个方面,详细解读 ETTask 的实现。 1. 设计目标 ETTask 是 ET 框架中的异步任务实现,主要设计目标是: 轻量高效:适用于游戏开发中的高性能需求,避免线...
ETTaskHelper 是 ET 框架中用于处理多个 ETTask 协同工作的工具类,提供了 WaitAny 和 WaitAll 方法,用于等待多个任务中的任意一个完成或全部完成。它的核心实现依赖于一个内部的 CoroutineBlocker 类。下面我们将详细解读 ETTaskHelper 的源码及其工作原理。 1. 核心功能 ETTaskHelper 提供了以下方法: Wa...
在 ET 框架中,多线程、单线程 与 Task、ETTask、await、async 的关系是一个非常重要的话题。ET 框架的设计目标是高性能和低开销,因此在处理异步任务时,它采用了独特的单线程协程模型,同时结合了 Task、await 和 async 的语法糖来简化异步编程。下面我们将详细分析它们之间的关系和工作机制。 1. ET 框架的单线程协程模型 ET 框架的核心设计思想是 单...
为什么需要单间管理器: 统一管理单间类,单间类也需要管理生命周期,创建和清理的统一管理 统一管理基础库,灵活引入基础库。写一个Singleton包一下,比如YooAssets第三方插件。 消除静态字段,比如static dictionary这种变量,没有地方清理,unity关闭的时候没有一个地方统一清理,所以比如需要定义静态字段的时候都放到一个统一的singleton中作为单...
各类服务器进程合并:命令行启动参数不同而已,发布部署简单,配置资源方便,多种服务共用进程,结构调整容易,比如两种或多种服务要合并或拆分,比如Realm和Gate如果压力小可以放到一个进程,甚至可以把所有服务放到一个进程;如果压力大拆分也很方便。无限增加app类型。66 后端跟机器人合并,命令行 dotnet App.dll --Process=1 --Console=1 启动,然后Cre...
项目需求 热更新: 逻辑代码和MonoBehaivor脚本进行分离,才能做热更新 数据跟方法分离,热重载:数据和方法分离,主要用于服务器不停服热更新,客户端也能用,使用场景就是Model和ModelView数据层不变,重载的是Hotfix和HotfixView两个dll,也就是重载的是逻辑部份。 逻辑和表现分离:玩家移动在逻辑层是离散的点,然后表现需要做差值顺滑移动过去;逻辑...
今天是2025年大年初六,返沪了。从今天起好好记录博客~~ 下午在高铁上下载了DeepSeek,体验了一下确实很好用,对于国产GPT能做到这样,实属牛逼~
通过AI来总结这几个关键词的区别和联系 delegate、Action、Func的定义 delegate 和 Action 都是用于定义委托类型的机制,但它们有一些关键的区别和特定的用途: 1. delegate 定义 : delegate 是一种类型定义,可以用来表示对任何返回值和参数类型的函数的引用。 语法 : 需要显式定义。 pub...