提案となります。
設定の保存(Save setup...)は、待ち時間が長いです。
前々から時間がかかっていましたが、バージョンを重ねるごとに長くなっています。
ゆびおりの簡易確認ですが、自分の環境では、以下でした。
| version |
wait |
| 4.84 |
3秒 |
| 4.108 |
4秒 |
| 5.1 |
4.5秒 |
| 5.2 |
4.5秒 |
| 5.3 |
5秒 |
| 5.4.0 |
5秒 |
| 5.5.0 |
5秒 |
| 5.6.1 |
6秒 |
| 5.7.0 |
6秒 |
設定の保存のどの処理で時間がかかっているかというと ttpset\ttset.c の _WriteIniFile() 関数になります。
_WriteIniFile() 関数では、WritePrivateProfileString() を設定項目すべてに対して行っています。
この操作が積もりに積もって待ち時間を長くしています。
バージョンを重ねるごとに機能追加により項目が増えていくため、当然といえば当然です。
設定の読み込み(Restore setup...) は、保存と違い、一瞬で処理が終わるため、待ち時間は気になりません。
そこで緩和策として以下を考えました。
通常は、数点の設定項目の書き換えだけでよいはずです。
各項目ごとの WritePrivateProfileString() を行う前に TERATEM.INI ファイルの内容を読み出し、
値が書き込み値と同じなら書き込みを行わないようにすることで時間のかかる処理を大幅に減らします。
実験してみたところ保存は一瞬で終わり、持ち時間は無くなります。問題が解消します。
細かいチェックはできていませんが、それほど難しい変更をしてはいないので使えそうです。
いかがでしょうか。
提案となります。
設定の保存(
Save setup...)は、待ち時間が長いです。前々から時間がかかっていましたが、バージョンを重ねるごとに長くなっています。
ゆびおりの簡易確認ですが、自分の環境では、以下でした。
設定の保存のどの処理で時間がかかっているかというと ttpset\ttset.c の _WriteIniFile() 関数になります。
_WriteIniFile() 関数では、WritePrivateProfileString() を設定項目すべてに対して行っています。
この操作が積もりに積もって待ち時間を長くしています。
バージョンを重ねるごとに機能追加により項目が増えていくため、当然といえば当然です。
設定の読み込み(
Restore setup...) は、保存と違い、一瞬で処理が終わるため、待ち時間は気になりません。そこで緩和策として以下を考えました。
通常は、数点の設定項目の書き換えだけでよいはずです。
各項目ごとの WritePrivateProfileString() を行う前に TERATEM.INI ファイルの内容を読み出し、
値が書き込み値と同じなら書き込みを行わないようにすることで時間のかかる処理を大幅に減らします。
実験してみたところ保存は一瞬で終わり、持ち時間は無くなります。問題が解消します。
細かいチェックはできていませんが、それほど難しい変更をしてはいないので使えそうです。
いかがでしょうか。