Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ソング:Speakerの初期化をSET_SINGERで行わないようにする #2359

Open
sigprogramming opened this issue Nov 16, 2024 · 1 comment

Comments

@sigprogramming
Copy link
Contributor

内容

現在、SET_SINGERでSpeakerの初期化(INITIALIZE_ENGINE_SPEAKERの実行)を行っていますが、Speakerの初期化中はUIがロックされます。
これが結構UXを下げているように感じました。(特にエディタ起動直後)
また、ソングエディタでSpeakerの初期化を前もって行う必要はない気がします。(レンダリングに時間がかかることを前提とした設計・UIになっている)
なので、Speakerの初期化をSET_SINGERで行わないようにするのが良いかなと思います。

Pros 良くなる点

  • 起動直後やシンガー切り替え直後にUIがロックされなくなる
    • Speakerの初期化の完了を待つ必要がなくなる

Cons 悪くなる点

  • Speakerの初期化をレンダリング時に行うことになり、(初回の)レンダリング時間が長くなる

実現方法

SET_SINGER

void actions.SETUP_SINGER({ singer: { engineId, styleId } });

を削除する。

その他

@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 16, 2024

確かに不要そうだと感じました!!

INITIALIZE_ENGINE_SPEAKER側にUI_LOCKするかどうかのフラグを持たせて、トーク側からはロックし、ソング側からはロックしないようにするのが UX 的には最高かもです。

エンジン側には初期化をリクエストしておきつつUI は触れるようにしておく感じになるかなと。
ちなみにエンジン側はセマフォ?してるので、続けてリクエストを送っても送らなくても大丈夫なようになっています。

(ついでにINITIALIZE_ENGINE_SPEAKERspeaker部分をcharacterに名前変更しておきたいかも 😇 )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants