Raclamusi

Results 27 comments of Raclamusi

ヘッダと画像データの間にギャップがあるとき、および、パレットの色数が最大でないときに正しく読み込めないバグがありました。 一緒に直します。 ![スクリーンショット](https://github.com/Siv3D/OpenSiv3D/assets/61970673/e8616101-9e04-4fdd-ab9d-9a6542206935)

テスト用ソースコード: https://gist.github.com/Raclamusi/039af3aa2698424a3bfc48e885224f94 テスト用画像ファイル: https://drive.google.com/drive/folders/1UFL-rqHZ3wjn-5efr_9ghWNtZ-GqYlOD?usp=sharing

テスト用コード、実装完了しました。 ![ソースコード](https://github.com/Siv3D/OpenSiv3D/assets/61970673/d1254c05-9924-489d-afc0-32dbc14971b6)

PR #1207 のコメントに変更についての詳しい説明を書きました。

Boost のバグっぽいので、Boost.Geometry に issue を立てました。 https://github.com/boostorg/geometry/issues/1250

Boost.Geometry で修正されたので、 boost-1.85.0 を使うことで解決しそうです。

メンバ関数呼び出しの回避について、提案コードを修正しました。 https://gist.github.com/Raclamusi/9443c1533bfd2f45a73678d9b6b47d46/revisions#diff-ff9db3cb6025e343dacac7fe1b565394e85d2b614be4ab7b7fedb99d8e8b762d 画像が正方形のときの in-place 転置は調査中です。

正方形画像に対する in-place 実装を少し調べてみましたが、特に高速な実装を紹介しているものが見つからなかったので、自分で考えて実装しました。 4画素を取り出して入れ替えていく実装を、ブロック化によって高速化したものです。 実行時間は元の提案実装の1/2程度に向上しました。 Revisions: https://gist.github.com/Raclamusi/9443c1533bfd2f45a73678d9b6b47d46/revisions?ts=4#diff-ff9db3cb6025e343dacac7fe1b565394e85d2b614be4ab7b7fedb99d8e8b762d ![画像のバイトサイズを横軸、実行時間を縦軸としたグラフ](https://github.com/Siv3D/OpenSiv3D/assets/61970673/f536a618-0811-460b-88ac-959d55163046)

**Debug 実行**だと in-place 実装の恩恵が劇的になりますね。 ![画像のバイトサイズを横軸、実行時間を縦軸としたグラフ](https://github.com/Siv3D/OpenSiv3D/assets/61970673/f7d88010-81d5-401e-a4d4-a363edac4d32)

`cursorPos` を `String` のインデックスに合わせるのと `Array` のインデックスに合わせるの、どちらがいいと思いますか?