FXDanmaku

高性能弹幕库
授权协议 MIT
开发语言 Objective-C
所属分类 iOS代码库、 弹出视图(Popup View)
软件类型 开源软件
地区 国产
投 递 者 叶书
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

FXDanmaku 是一个高性能弹幕库。具有以下特性

  1. 除了UI操作, 其他操作都以代码块交给异步队列处理了.(使用GCD提交的代码块, 最终会由XNU kernel根据CPU使用情况创建新的线程去执行或分配给其他线程执行)

  2. 遵循 生产者消费者模式, 通过pthread去阻塞队列而非使用timer或异步队列开启runloop空转

  3. 定义了包含 弹幕块点击、将出现、已消失事件的delegate

  4. 提供 注册复用 自定义弹幕块 的方法

  5. 各种自定义参数, 如弹幕块移速, 弹幕库插入方向(从上, 从下, 随机), 弹幕库移动方向(左到右, 右到左), 重置弹道位移百分比系数(防前后弹幕块碰撞)、弹幕队列容量控制

  6. 简单易用, 控制方法就三个 start(同时也是恢复), pause, stop. 另外大部分方法都是线程安全的

  7. 轻易适配设备方向旋转

  8. 设置单行配置即可作为 跑马灯、直播间公告 使用

 相关资料
  • 启用时在配置中添加插件名称 BulletCurtain ,参数如下: 参数 描述 size 默认字体大小,默认30 color 默认字体颜色,默认0xFFFFFF font 默认字体名称,默认Times New Roman duration 所有弹幕在展示的时长,单位秒,默认10 alpha 所有弹幕的不透明度,取值范围0-1,默认1 visible 所有弹幕是否可见,1 为可见,0 不可见,默认

  • 发布弹幕 调用地址 http://api.bilibili.cn/comment/post 需要 App Key 并验证登录状态(Access key);要求应用申请弹幕权限 参数 字段 必选 传递方式 类型 说明 mid true POST int 发布帐号(必须和 access_key 帐号一致) cid true POST int 视频ID playTime true POST float

  • Barrage.New事件 Barrage.New事件会在收到新的弹幕时被触发 Mudu.MsgBus.On( // 事件名,值为"Barrage.New" "Barrage.New", // 事件处理函数,参数为弹幕对象 function (barrage) { barrage = JSON.parse(barrage) console.log('收到新的弹幕,

  • 问题内容: 每次执行此查询需要200毫秒以上的时间: 但这每次在第一次查询后每次执行只需要2-3毫秒: 注意在两个查询中相同的ID值。看起来第二个查询使用第一个查询的缓存结果。但是,为什么第一个查询不能使用缓存的结果本身?从第一个查询中删除不会更改任何内容。 当我使用其他ID执行第二个查询时,第一次执行该查询大约需要40毫秒,此后每次需要2-3毫秒。因此,第二个查询不仅运行速度更快,而且还缓存结果

  • Mudu.Room.Barrage 弹幕组件 Barrage.New事件 Barrage.New事件会在收到新的弹幕时被触发 Mudu.MsgBus.On( // 事件名,值为"Barrage.New" "Barrage.New", // 事件处理函数,参数为弹幕对象 function (barrage) { barrage = JSON.parse(barrage)

  • null 我已经用WebFlux-WebClient、Ratpack和Lagom测试了当前(阻塞)Spring boot client(tomcat)、Spring boot 2.0(netty)。在每种情况下,我都强调了客户机应用程序通过gatling测试简单场景(100-1000个用户/秒)。 我已经测试了ratpack和lagom作为参考非阻塞io服务器,以便将结果与spring boot(