堕天使の煉獄
2023-06
07
06:32:31
まあ考えてみれば納得
細かな設定周りのリライト続いてモチベーションガタ落ちしたけど、なんとか持ち直して作業再開中のpg。
とりあえず画像表示するとこまではさっさとやってしまいたいなと。
やっぱ画面に動きが出たほうがやる気出るw
てことで、この辺は特に難しいことはなく……なく……今回追加したアニメーション付きの画像の表示がうまく行かない。
んー問題はなんとなくコレかなって思い当たるのだけども。
ググっても英語の掲示板ばっかなのと、なんかpython版のPyQt系の記事ばかり引っかかる。
利用的にブラウザ系とかサーバーアプリ系よりなのかなぁ?
アニメgifの表示の話題が多いので。
んで、拙い英語力でなんとか探ってみると、やっぱりバッファの生存期間が問題ぽ。
アニメーション画像と言いつつ、使われるクラスが「QMovie」という所からも分かる通り、動画として扱うんですよね。
んで、基本的には開かれたバッファから次のフレームを読む時動的に読み込むような動作になっていて。
なので読んだらあとはQMovieオブジェクトをshared_ptrなんかにいれてどっかに持ってったときには読み込み元のバッファは開放されてて、そこでぶち落ちるという感じにw
んで英語の掲示板にあった解決法が、
setCacheMode(QMovie::CacheAll);
で全部キャッシュするモードにして、
jumpToFrame(m->frameCount() - 1)
で、これ一番最後のフレームに移動するやつで、これすると、最後のフレームまで全部メモリ上にキャッシュされるようになる。
それでもう元のバッファが消えても問題ナッシング……と。
うーん。
なんだか泥臭いなぁ。
もう一個解決法があったんだけど、バッファをグローバルにおいて保持し続けるっての。
それはいろいろと面倒が起こりそうなのでパス。
……あ、このあと一旦先頭のフレームに戻す処理書き忘れてらw
これで無事アニメーション付きの画像も表示できるように。
まあ全部オンメモリなので、クソでかいのとかだとメモリ食いつぶしちゃうかもね(ぉ
でも掲示板の記事で、gifなんかだとフレームが繰り返し表示されたりするので、キャッシュするのは理にかなってるとか書かれてて、なんか泥臭いと思ったりもしたけど、そういうもんっちゃそういうもんだよな。
ファイル自体が数ギガなんてのも普通で、常に少しずつ読み込む普通のaviみたいな動画ファイルと違って、単に画像がフレーム単位で何枚か入ってるのをパラパラめくるだけだものな。アニメ付き画像って。
でもavifとかになるとどうなんだろな。avifはフォーマット的にまんま動画系だからなぁ。
今のところアニメ付きは手持ちであったgifとwebpしか試してないけど(APNGとかまだ見たこと無いかも)容量的には多くても数10MB程度だし、最近のpcならメモリ十分かねぇ。
でももっとデカい数ギガなんてアニメ画像になると……全部キャッシュは厳しくなってくるけど……まあそもそもそんな見かけないしな。
そこまで対応考えなくてもいいかなぁ……今のところは。
そんな感じでとりあえず、zipでもrarでも7zipでも中身をぱっと表示して、画像もアニメ画像も、対応してない画像形式はsusieプラグインつかって表示(いまのところavifの表示のテストのみ)。
までは出来たり。
表示まわりとか細かい部分はまだこれからだけど。
んであとは変換設定を元に書き出す部分だけなので、ようやく終わりが見えてきた~。
しかし、いまだデバッグモードでしかテストしてないけど、結構速いんだよな。
以前のバイナリからちまちま自分で解析して読んでたのより。
7zipいい感じです。
そもそもわざわざ自前で解析してたのって、まあ勉強も兼ねてはいたけど、統合アーカイバ系が20年以上前の時代の仕様引きづっててかなり遅いってのがあって。
そこからすれば、なんだか遠くに来たもんだって気分にw
とりあえず画像表示するとこまではさっさとやってしまいたいなと。
やっぱ画面に動きが出たほうがやる気出るw
てことで、この辺は特に難しいことはなく……なく……今回追加したアニメーション付きの画像の表示がうまく行かない。
んー問題はなんとなくコレかなって思い当たるのだけども。
ググっても英語の掲示板ばっかなのと、なんかpython版のPyQt系の記事ばかり引っかかる。
利用的にブラウザ系とかサーバーアプリ系よりなのかなぁ?
アニメgifの表示の話題が多いので。
んで、拙い英語力でなんとか探ってみると、やっぱりバッファの生存期間が問題ぽ。
アニメーション画像と言いつつ、使われるクラスが「QMovie」という所からも分かる通り、動画として扱うんですよね。
んで、基本的には開かれたバッファから次のフレームを読む時動的に読み込むような動作になっていて。
なので読んだらあとはQMovieオブジェクトをshared_ptrなんかにいれてどっかに持ってったときには読み込み元のバッファは開放されてて、そこでぶち落ちるという感じにw
んで英語の掲示板にあった解決法が、
setCacheMode(QMovie::CacheAll);
で全部キャッシュするモードにして、
jumpToFrame(m->frameCount() - 1)
で、これ一番最後のフレームに移動するやつで、これすると、最後のフレームまで全部メモリ上にキャッシュされるようになる。
それでもう元のバッファが消えても問題ナッシング……と。
うーん。
なんだか泥臭いなぁ。
もう一個解決法があったんだけど、バッファをグローバルにおいて保持し続けるっての。
それはいろいろと面倒が起こりそうなのでパス。
……あ、このあと一旦先頭のフレームに戻す処理書き忘れてらw
これで無事アニメーション付きの画像も表示できるように。
まあ全部オンメモリなので、クソでかいのとかだとメモリ食いつぶしちゃうかもね(ぉ
でも掲示板の記事で、gifなんかだとフレームが繰り返し表示されたりするので、キャッシュするのは理にかなってるとか書かれてて、なんか泥臭いと思ったりもしたけど、そういうもんっちゃそういうもんだよな。
ファイル自体が数ギガなんてのも普通で、常に少しずつ読み込む普通のaviみたいな動画ファイルと違って、単に画像がフレーム単位で何枚か入ってるのをパラパラめくるだけだものな。アニメ付き画像って。
でもavifとかになるとどうなんだろな。avifはフォーマット的にまんま動画系だからなぁ。
今のところアニメ付きは手持ちであったgifとwebpしか試してないけど(APNGとかまだ見たこと無いかも)容量的には多くても数10MB程度だし、最近のpcならメモリ十分かねぇ。
でももっとデカい数ギガなんてアニメ画像になると……全部キャッシュは厳しくなってくるけど……まあそもそもそんな見かけないしな。
そこまで対応考えなくてもいいかなぁ……今のところは。
そんな感じでとりあえず、zipでもrarでも7zipでも中身をぱっと表示して、画像もアニメ画像も、対応してない画像形式はsusieプラグインつかって表示(いまのところavifの表示のテストのみ)。
までは出来たり。
表示まわりとか細かい部分はまだこれからだけど。
んであとは変換設定を元に書き出す部分だけなので、ようやく終わりが見えてきた~。
しかし、いまだデバッグモードでしかテストしてないけど、結構速いんだよな。
以前のバイナリからちまちま自分で解析して読んでたのより。
7zipいい感じです。
そもそもわざわざ自前で解析してたのって、まあ勉強も兼ねてはいたけど、統合アーカイバ系が20年以上前の時代の仕様引きづっててかなり遅いってのがあって。
そこからすれば、なんだか遠くに来たもんだって気分にw
Sun
Mon
Tue
Wed
Thu
Fri
Sat
01
02
03
■
■
目がシパシパ
04
05
06
07
■
■
まあ考えてみれば納得
08
09
10
11
12
■
■
魔界へ
13
14
15
16
17
18
19
20
■
■
モチベ切れ中
21
22
23
■
■
大きいって事は便利だねっ
24
25
26
■
■
はやく次に行きたいんだけど
27
28
■
■
蒸し暑い
29
30
total:2080285 t:2655 y:180
■記事タイトル■
■年度別リスト■
2024年
2024年12月(0)2024年11月(0)
2024年10月(1)
2024年09月(2)
2024年08月(1)
2024年07月(1)
2024年06月(5)
2024年05月(2)
2024年04月(1)
2024年03月(6)
2024年02月(4)
2024年01月(3)
2023年
2023年12月(3)2023年11月(1)
2023年10月(2)
2023年09月(3)
2023年08月(3)
2023年07月(3)
2023年06月(7)
2023年05月(8)
2023年04月(2)
2023年03月(1)
2023年02月(2)
2023年01月(3)
2022年
2022年12月(4)2022年11月(3)
2022年10月(1)
2022年09月(3)
2022年08月(3)
2022年07月(2)
2022年06月(1)
2022年05月(3)
2022年04月(2)
2022年03月(2)
2022年02月(1)
2022年01月(6)
2021年
2021年12月(8)2021年11月(3)
2021年10月(4)
2021年09月(6)
2021年08月(2)
2021年07月(1)
2021年06月(3)
2021年05月(2)
2021年04月(2)
2021年03月(3)
2021年02月(1)
2021年01月(4)
2020年
2020年12月(3)2020年11月(7)
2020年10月(2)
2020年09月(3)
2020年08月(1)
2020年07月(3)
2020年06月(7)
2020年05月(5)
2020年04月(8)
2020年03月(4)
2020年02月(2)
2020年01月(4)
2019年
2019年12月(1)2019年11月(1)
2019年10月(2)
2019年09月(1)
2019年08月(3)
2019年07月(2)
2019年06月(2)
2019年05月(2)
2019年04月(4)
2019年03月(1)
2019年02月(7)
2019年01月(1)
2018年
2018年12月(1)2018年11月(1)
2018年10月(5)
2018年09月(1)
2018年08月(5)
2018年07月(1)
2018年06月(1)
2018年05月(1)
2018年04月(2)
2018年03月(2)
2018年02月(1)
2018年01月(1)
2017年
2017年12月(2)2017年11月(1)
2017年10月(2)
2017年09月(5)
2017年08月(8)
2017年07月(2)
2017年06月(1)
2017年05月(1)
2017年04月(3)
2017年03月(5)
2017年02月(7)
2017年01月(8)
2016年
2016年12月(7)2016年11月(2)
2016年10月(3)
2016年09月(7)
2016年08月(8)
2016年07月(10)
2016年06月(17)
2016年05月(6)
2016年04月(8)
2016年03月(10)
2016年02月(5)
2016年01月(10)
2015年
2015年12月(7)2015年11月(7)
2015年10月(13)
2015年09月(7)
2015年08月(7)
2015年07月(5)
2015年06月(4)
2015年05月(5)
2015年04月(2)
2015年03月(4)
2015年02月(1)
2015年01月(7)
2014年
2014年12月(12)2014年11月(8)
2014年10月(4)
2014年09月(6)
2014年08月(7)
2014年07月(4)
2014年06月(2)
2014年05月(5)
2014年04月(4)
2014年03月(8)
2014年02月(4)
2014年01月(8)
2013年
2013年12月(15)2013年11月(8)
2013年10月(3)
2013年09月(3)
2013年08月(8)
2013年07月(0)
2013年06月(0)
2013年05月(0)
2013年04月(0)
2013年03月(0)
2013年02月(0)
2013年01月(0)
■レス履歴■
■ファイル抽出■
■ワード検索■
堕天使の煉獄
https://rengoku.sakura.ne.jp
管理人
織田霧さくら(oda-x)
E-mail (■を@に)
oda-x■rengoku.sakura.ne.jp