View Code? Open in Web Editor
NEW
ニコニコ動画の公式プレイヤー互換の高パフォーマンスなコメント描画ライブラリ / High peformance High compatibility comment drawing library
Home Page: https://xpadev-net.github.io/niconicomments/
License: MIT License
JavaScript 1.27%
TypeScript 98.34%
Shell 0.05%
Dockerfile 0.34%
niconicomments's Issues
要調査
現状のscale*行数/20は正しくないし、yammabooさんのやつも合わなかった
現状すべてのコメントをmeasureTextしているが、
中を流れるコメントは当たり判定的に消費する範囲は必ず一定で、
高さもDRなどが存在しないためある程度絞れる
そこで、nakaのmeasureTextはgetImage時に行い、初期化時はコマンドを処理して高さ計算をするだけに変更する
※ueやshitaのコメントは今まで通りmeasureTextを行う必要がある
概要
@置換で置換元と置換先が等しい場合に無限ループが発生する
動画アドレス
環境
- 使用しているOS:Win10・Mac Monterey
- 使用しているブラウザ:Firefox・Brave
- 使用しているバージョン:0.2.4
- ニコニコ動画互換モードは有効か:両方
比較
公式:
niconicomments:
動画アドレス
公式:
niconicomments:
環境
概要
legacy apiは投稿者コメントにユーザーidがなかったためコメント単体で判別が出来たが、v1には差異が無いため、threadの名前を見るしか無い
現状thread名とか一切確認していないのでそこを修正する必要がある
動画アドレス
公式:
niconicomments:
環境
概要
40米制限見たいな機能を作る
上限値は任意
saccubusみたいに消す法則も設定できるようにする?
動画アドレス
環境
- 使用しているOS:Win
- 使用しているブラウザ:Firefox
- 使用しているバージョン:0.2.12
- ニコニコ動画互換モードは有効か:no
概要
- 何が:
NiconiComments.internal
の型定義が
- どうなっていて: よくわからない感じになっている
- どうなってほしい:実行時の NiconiComments.internal.* と一致してほしい
概要
投稿者コメントの上に通常のコメントが表示されている
動画アドレス
環境
- 使用しているOS:Win10・Mac Monterey
- 使用しているブラウザ:Firefox・Brave
- 使用しているバージョン:0.2.4
- ニコニコ動画互換モードは有効か:いいえ
概要
Windowsとmacは基本どの環境にも同じフォントが入っているが、モバイル端末だと物によって入っているものが違うため、
予めデータセットを用意しておき、初期化時に表示サイズが同じになるように補正を行う
メモ
設定で有効無効切り替えられるようにしてconstructor内で横幅を元にリサイズする
データセットは全角半角文字と空白、タブ文字などいくつか用意する
@秒を適用した長いコメントを流すと画面半分まで来た時点でコメントが消えてしまう
動画アドレス
左:公式 右:0.2.8
環境
- 使用しているOS:mac Monterey
- 使用しているブラウザ:firefox
- 使用しているバージョン:0.2.8
- ニコニコ動画互換モードは有効か:yes
現状同一ユーザーが積みを複数回投稿している場合に衝突が発生してしまうためこれをどうにかしたい
ユーザーを絞った上で投下時間をもとにCAごとのグループを生成してグループ化する?
概要
npm上にTypeScript用の型定義を公開する
概要
- なにが:drawCanvas に渡すvposが
- どうなっていて:整数でないとうまく描画されない
- どうなってほしい:整数でなくても描画されるようになっていてほしい
とりあえず this.timeline の参照だけ Math.floor したものを使って、それ以外は非整数な vpos を使ったパッチを用意しました (これで何も出ないということはなくなる) rinsuki@9770991
一見ちゃんと動いているように見えますが、適当に一本の動画で試しているだけなので、プラグインとかCA依存で壊れるかもしれません (内部構造に詳しくないのでこれでいいかわからない)
概要
入力の対応形式を追加
現在対応を考えているフォーマットは以下の通り
- niconico legacy api format (legacy)
コメントといえばあれってやつ(legacy/api.json)
- niconico v1 api format (v1)
最近変わったやつ(v1/thread)
- niconico owner comment format (owner)
投稿者コメントのあれ
- niconicomments format (formatted)
sampleのcommentdata以下にあるやつ
- niconicome xml format (niconicome)
niconicomeが吐き出すxml形式のやつ
当面このissueは開けとくので他フォーマットの対応要望あればコメントにお願いします
WebWorker上でcanvasが使用できないため、OffscreenCanvasにFirefox及びSafariが対応するまでは保留
ブラウザシェア?そんなもん知らん
少なくともFirefoxが対応してから実装予定
動画アドレス
環境
- 使用しているOS:win11
- 使用しているブラウザ:brave
- 使用しているバージョン:0.2.27
- ニコニコ動画互換モードは有効か:no
2行はみ出している
概要
コメントを大量に読み込むと、コメントのキャッシュが溜まってメモリが爆発する
Brave@m1 macで試したところ12GBを越えたあたりで爆発した
キャッシュの最大保持数を設定する必要があるかも
そもそも50000件も普通読み込まないから問題ないと思うけど
概要
現状コメントを読み込んだタイミングですべてのコメントの配置を決定しているため、
途中からコメントを追加できるように、新たにメゾットを追加する
追加したタイミングから、再計算を初めて、結果がおなじになった時点で処理を停止すれば負荷を最小限に抑えられる