--- Title: scintilla2 雑感 Author: yamasyuh68 Web: https://mimemo.io/m/3kyw8o33w8o6Lrg --- @[TOC](項目なり) # シンチラ入力速度 - 2M弱の文書なんだがかな漢字変換が凄く遅い事に気づいた キーがキューにたまってる感じで変換前の入力だけでかなり遅い これじゃ使えん ┐('д')┌ - いろいろ試してみたら、大きなファイルの先頭では問題ないが後ろに行くほど遅くなることがわかった - かな変換ほどではないがアルファベットも遅くなる - 秀丸とgPadで試したらそういった症状はない - 仕様ですね ┐('д')┌ 無料のコンポーネントだから文句も言えないが・・・ 何かの設定で速くなるんだろうか レクサは設定してないんだけどな - C++ で実装したら違うんだろうか? NotePad++で実験してみるか ## ScintillaのIMEの実験 1. 変換前のかな文字について、カーソルで部分選択が出来ないこと NotePad++でも出来なかった( ´∀`) 仕様ですな でも表示のされ方が少し違ってた 実装方法が違うのかな?? 工夫の余地があるんだろうか 2. 大きなファイルの後方での遅延 NotePad++では遅延はなかった!!!(゚Д゚) 私のコーディングが悪いのか? 遅延の理由はレクサのような気がしてる ファイルの後方で生じるから、頭からレクサ処理をしていて遅いのかなと 今は拡張子pyのpythonファイルにのみレクサを設定している しかし起動時に空のレクサを設定していたような気がする これが地味に悪さをしているのかもしれない・・・ --- # 改めて文字コードについて 191008 - 保存できない文字コードがあったらエラーを返す仕様だった でもそのあとを考えてなかった とりあえずエラー位置に飛べるようにはしたが、u8で保存すれば解決することはわかってる cp932にこだわってエラー文字を直すのは無駄なんだよねえ エラーになった文字が何だったのかは知りたいから飛ぶ機能はあって良いんだけどさ - でもなあ、何となくcp932を残しておきたいって思いもある ロード時のエンコに関係なく保存時は全てu8にしちゃえば良いだけなんだけども - 「保存時のエンコードを指定」の機能は必要かもしれない コンボボックスで選択かな?チェックボックスでも良いか でもデザイナのUIは作りたくないな~ - 「強制的にU8で保存」にするか!! 「本当に良いですか」を出したりして # 高速化 scieditor2 は結構完成度が高いと思う 自作だから当たり前だけど凄く使いやすいし 今はこまごまと機能を追加してるが根本的に直したい部分はあんまり思い浮かばない 強いて言えば高速化かな となるとC++ですよね~ python は遅いって事になってるけどキャッシュされればそれほどでもない 遅いのは最初だけって事ですね あえてC++でコンパイルする意味があるのか?? python のままで極力高速化できるようにした方が良いかな # scieditor2 機能拡張 色んな機能を本体では無くて後付けで実装したい プラグイン形式では無理かな 起動高速化のために起動時はチェックしない仕組みで gPad はオブジェクトを提供してユーザーに使わせる仕組み 文法はWSH どういう仕組みなんじゃ!!! とりあえずシンチラの付加機能的なものは別クラスにまとめた方がすっきりするかも 起動は少し速くなるんじゃろうか?? # model データの書き出しについて 190926 treeView の model の書き出しだけど ストレートにmodelのデータをスキャンするようなコードにしたが、オリジナル文書から解析ロジックそのままで書き出すことも出来たなあ 全く別なロジックを考えたので無駄だったような?? modelをスキャンした方が早いはずだから正解だったのかな? オリジナル文書からって事になると解析ロジックはいらない、単に検索して該当行を抽出するだけで良かったのか 現在の行単位検索でもいけたな modelの書き出しではなくて検索結果の書き出しを実装すれば良いだけだったか!! アウトラインの指定項目を選択、って機能は必要だけどmodelの書き出しはいらなかったのか 行単位検索の出力のオプションで実装するだけで良かったような気がしてきた 頭の体操にはなったから良いんだけども (ノ゚o゚)ノ ---- └──> [scieditor2](https://mimemo.io/m/zeXgworpjz4K0Ek)