跳转至内容
  • 欢迎
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

Hellclient 社区

  1. 主页
  2. HellMapManager地图编辑器
  3. [开发]hellmanager.ts lua版本放弃性能优化声明

[开发]hellmanager.ts lua版本放弃性能优化声明

已定时 已固定 已锁定 已移动 HellMapManager地图编辑器
2 帖子 1 发布者 11 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • jarlyynJ 离线
    jarlyynJ 离线
    jarlyyn
    编写于 最后由 jarlyyn 编辑
    #1

    经过实际业务的测试,很遗憾的放弃hmm.ts的lua版性能支持。

    由于HellMapManager的功能日渐复杂,性能压力也越来越大。目前的HMM的性能测试数据如下

    • API模式,普通寻路,9ms,十分优秀。
    • TS转译js,node执行 20ms,基本可用。
    • TS转译lua,luajit执行,100ms,勉强可用。
    • TS转译lua,lua执行,500ms,完全不可用。

    由于绝大部分客户端仅支持原生lua, 并不支持luajit,而且ts转译lua还是有不小的性能损失的。所以hmm.ts基本不可能在可见的技术情况下达到可用的程度。

    因此,我们不得不遗憾的承认,没有能力让hmm.ts达到在各大客户端可用的程度。

    hmm.ts的lua版本仅提供兼容性支持,提供可编程的数据转换。

    如果lua机器需要使用hmm数据库,需要走api通道。

    当然,如果有可能的话,我也希望能让支持lua的客户端能高效的使用全功能的hmm.ts功能。

    1 条回复 最后回复
    • jarlyynJ 离线
      jarlyynJ 离线
      jarlyyn
      编写于 最后由 编辑
      #2

      通过测试,将HMM编译为动态链接库,然后封装成lua库供lua调用,大概能在lua(非git)跑出45 ms的速度,也算可用了。

      1 条回复 最后回复
      回复
      • 在新帖中回复
      登录后回复
      • 从旧到新
      • 从新到旧
      • 最多赞同


      • 登录

      • 没有帐号? 注册

      • 登录或注册以进行搜索。
      Powered by Herbrhythm.
      • 第一个帖子
        最后一个帖子
      0
      • 欢迎
      • 版块
      • 最新
      • 标签
      • 热门
      • 用户
      • 群组