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

WindowsではPyInstallerのbootloaderをカスタマイズする #596

Merged
merged 3 commits into from
Jan 29, 2023

Conversation

qryxip
Copy link
Member

@qryxip qryxip commented Jan 29, 2023

内容

PyInstallerのbootloaderをカスタマイズすることで、NvOptimusEnablementAmdPowerXpressRequestHighPerformanceを有効化します。

これによりNVIDIA Control Panel等での設定が無くても、内蔵GPUより外付けのものが優先されるようになるはずです。

関連 Issue

Resolves #502.

スクリーンショット・動画など

image

その他

@y-chan さんのコメントが非常に参考になりました。コミットメッセージにも書きましたが、重ねてお礼申し上げます。

以下のコメントが非常に参考になった。 @y-chan に感謝する。
VOICEVOX#502 (comment)

Co-authored-by: Yuto Ashida <[email protected]>
@qryxip qryxip requested a review from a team as a code owner January 29, 2023 02:39
@qryxip qryxip requested review from Hiroshiba and removed request for a team January 29, 2023 02:39
@github-actions
Copy link

github-actions bot commented Jan 29, 2023

Coverage Result

Resultを開く
Name Stmts Miss Cover
voicevox_engine/init.py 1 0 coverage-100%
voicevox_engine/acoustic_feature_extractor.py 75 0 coverage-100%
voicevox_engine/dev/synthesis_engine/init.py 2 0 coverage-100%
voicevox_engine/dev/synthesis_engine/mock.py 36 2 coverage-94%
voicevox_engine/full_context_label.py 162 3 coverage-98%
voicevox_engine/kana_parser.py 86 1 coverage-99%
voicevox_engine/metas/Metas.py 33 0 coverage-100%
voicevox_engine/metas/MetasStore.py 29 14 coverage-52%
voicevox_engine/metas/init.py 2 0 coverage-100%
voicevox_engine/model.py 145 9 coverage-94%
voicevox_engine/mora_list.py 4 0 coverage-100%
voicevox_engine/part_of_speech_data.py 5 0 coverage-100%
voicevox_engine/preset/Preset.py 12 0 coverage-100%
voicevox_engine/preset/PresetError.py 2 0 coverage-100%
voicevox_engine/preset/PresetManager.py 81 2 coverage-98%
voicevox_engine/preset/init.py 4 0 coverage-100%
voicevox_engine/synthesis_engine/init.py 5 0 coverage-100%
voicevox_engine/synthesis_engine/core_wrapper.py 206 166 coverage-19%
voicevox_engine/synthesis_engine/make_synthesis_engines.py 57 49 coverage-14%
voicevox_engine/synthesis_engine/synthesis_engine.py 130 11 coverage-92%
voicevox_engine/synthesis_engine/synthesis_engine_base.py 67 9 coverage-87%
voicevox_engine/user_dict.py 129 6 coverage-95%
voicevox_engine/utility/init.py 3 0 coverage-100%
voicevox_engine/utility/connect_base64_waves.py 37 0 coverage-100%
voicevox_engine/utility/path_utility.py 26 6 coverage-77%
TOTAL 1339 278 coverage-79%

Copy link
Member

@y-chan y-chan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
パッチもしくは独立したファイルを保持するにしても、PyInstallerのバージョンがハードコードされてしまうな...と思っていたのですが、pip installしているので-vでバージョンが取れますね...!なるほど!
バージョンを動的に取ってくることによる保守性の向上だけでなく、実行時間などを考慮してのdepth 1でのクローンなど、しっかり考えられていて感服しました!!!

@qryxip qryxip changed the title PyInstallerのbootloaderをカスタマイズする WindowsではPyInstallerのbootloaderをカスタマイズする Jan 29, 2023
@qryxip
Copy link
Member Author

qryxip commented Jan 29, 2023

bootloaderをカスタマイズするのはWindowsのみにしました。Linuxとかに影響が無いか自信が持てないので。

@qryxip
Copy link
Member Author

qryxip commented Jan 29, 2023

と思いましたがPyPiにあるbootloaderは特にオプションが付けられずにビルドされているように見えます。
まあWindows以外では必要無いのでこれでよさそう?

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

ありがとうございました!!

@Hiroshiba Hiroshiba merged commit 35b53f2 into VOICEVOX:master Jan 29, 2023
@qryxip qryxip deleted the customize-pyinstaller-bootloader branch January 29, 2023 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PyInstaller: DirectML版で良いGPUが使われるように、編集したbootloaderを使う
3 participants