- 1 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 05:53:16.97 ID:oY263ilm.net]
- WPF(Windows Presentation Foundation)について語るスレ。
前スレ WPF(.NET, WinUI) GUIプログラミング Part30 https://mevius.5ch.net/test/read.cgi/tech/1667010874/ 関連スレ Windows 10 UWPアプリ開発Part 3 https://mevius.5ch.net/test/read.cgi/tech/1627556967/ コードを貼る場合は以下のサイトの利用をお勧め。 https://ideone.com/
- 957 名前:デフォルトの名無しさん mailto:sage [2023/09/06(水) 19:08:19.79 ID:49e0pxsZ.net]
- 最終的にはそういう事
m vm vをどうしても二つのグループに分けると v vm とmグループになる vm再利用とかありえない
- 958 名前:デフォルトの名無しさん [2023/09/06(水) 20:03:38.91 ID:R922v4XL.net]
- >>946
だね。 V+VMはペアで中味はトリッキーでもなんでもご自由にどうぞ。 V+VMとMの関係がアーキテクトの骨子。
- 959 名前:デフォルトの名無しさん mailto:sage [2023/09/06(水) 20:08:53.79 ID:ZnJznt7P.net]
- WPFのはMVVMというよりblandパターン
MVVMとは関係ない実装がVMに多すぎ
- 960 名前:デフォルトの名無しさん mailto:sage [2023/09/06(水) 21:58:31.52 ID:H3c+Isko.net]
- blandパターンって何やねん
- 961 名前:mdysdev ◆XSDsAilQpD0E mailto:sage [2023/09/08(金) 20:01:30.51 ID:xsuhKaXw.net]
- WPFはパフォーマンスでないねぇ
UI仮想化しないと初期表示がくっそ遅いし、仮想化するとスクロールがガクガクする WebViewを試してみるか
- 962 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 20:04:01.88 ID:uWWTBRXF.net]
- >>951
WPFからReactに移ったときWeb速や!って思た
- 963 名前:デフォルトの名無しさん mailto:sqge [2023/09/08(金) 20:57:27.63 ID:AJzWVUJo.net]
- WPFってそんなやべぇやつだっけ?
昔、UWPアプリで、6年くらい前のスマホSoCのatomのタブレットでスクロールちょっと重いなと 格闘した記憶あるけどデスクトップPCやろ?
- 964 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 21:01:43.66 ID:AJzWVUJo.net]
- UWPアプリのしたらばリーダーみたいのMicrosoft Store
になかったけ? それでスクロール試してみん サムネイル画像の表示とかもやってたはず
- 965 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 21:15:10.75 ID:AJzWVUJo.net]
- コードみたけどレスの表示にRichTextBox使ってるの?
これ重いんじゃ? TextBlockとかでがんばるとか ってどの部分重いのか知らんが レス表示だよね?
- 966 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 21:30:39.96 ID:/3OGw28W.net]
- UI仮想化してるならコンテナーのリサイクルも有効にしてる?
- 967 名前:mdysdev ◆XSDsAilQpD0E mailto:sage [2023/09/08(金) 21:49:54.47 ID:xsuhKaXw.net]
- >>955
試した。色々。 1個のどでかいTextBlockもやってみた。 >>956 試した。 inlineのパフォーマンスがすごい悪いんだと思う。 stackoverflowとかもめっちゃググった。 その中の外人さんコメで「WPFやってるとプログラミング初心者に戻ったと錯覚する」っていうのが妙に刺さったw やっぱリフレクション主体のフレームワーク構造ってのに無理があるのでは。 少量のデータなら問題ないけど、ちょっと増えてくると指数的に重くなる
- 968 名前:mdysdev ◆XSDsAilQpD0E mailto:sage [2023/09/08(金) 21:58:52.02 ID:xsuhKaXw.net]
- 説明不足ですみません。
重いのはレス表示の部分。 範囲選択させたり、ハイパーリンク埋め込んだりなのでRichTextBox使ってる。 UI仮想化すると初期表示は早いけど、スクロールがガクガクだったり前回表示位置が上手く取得できなかったりとギブアップ気味。 これ以上この部分に時間かけるのもどうかと思い出した次第です
- 969 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 22:09:56.39 ID:/3OGw28W.net]
- 大量のデータならデータ仮想化もした方が良さそうだけど
- 970 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 22:21:08.42 ID:AJzWVUJo.net]
- RichTextBoxの範囲選択はあきらめたほうがいい
Janeとかもできないやろ? Webブラウザ使ってる余裕sikiはできるだろうが TextBlockでもマルチスタイルのインラインリンクぐらいはできなったっけ
- 971 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 22:28:15.74 ID:AJzWVUJo.net]
- >>957
ああごめんTextBlock試したのか じゃあWPFがやばいのか WinUIしてみようぜw >>953にも書いたがレス表示みたいな事を当時やったが デスクトップとかなら余裕だと思うんだが
- 972 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 23:00:10.22 ID:ZMs2WmkU.net]
- 10年以上前に自分が通った道を他人が歩いているのを見ている
今はIEコンポーネントもないしな
- 973 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 23:13:15.61 ID:ZMs2WmkU.net]
- 自分もrichtextboxから始めたけど開発スタート初日から見限った
これはダメだと 今より全然マシンパワーなかったから当然かと Sikiは仕組み上遅くなるのが分かってるのでもうそういう既存の仕組みを使わないで自力描画してるようだ レスをパースして行数計算して文字のフォントサイズを実際に脇に描画してそれを元に文字サイズを推定して 表示部分だけ自前描画 過去の自分も似たようなところにたどり着いて外部Dllを作ったがいろいろとうまくいかずc++からは戻って来た でもかなりレベルアップしたような実感が得られた(個人の感想です)
- 974 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 23:21:58.63 ID:ZMs2WmkU.net]
- 過去にここ?かc#のスレでたまに質問して技術を探ったがまともに回答できるレベルの人間はいなかった
結局フレームワークが提供するものを使わずに自前の疑似描画が最速なんだけど それがわかったとしてそこからは精神の問題になる 長い試行錯誤とこれは自分にとって時間をかける意味のあることなのかと自問自答
- 975 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 00:57:33.07 ID:hHjqEXWc.net]
- >>958
開発中の機能が重いわけ? レス数1000近くて画像リンク含むスレッド表示してみたけど どこがカクカクなのか分からない
- 976 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 01:14:55.16 ID:12n4cwT7.net]
- スレチだが、個人的には read.crx 2 をフォークするなりしてほしい
いまどき「Windows専用の5chクライアント」はちょっと...
- 977 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 01:26:18.10 ID:OYJBfPAk.net]
- 人のやることにケチ付けてないで、自分で作れば
- 978 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 02:13:46.91 ID:K25duMZT.net]
- んだんだ
- 979 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 02:39:19.20 ID:fuRqrN4P.net]
- 出来の良いエンジニアが全員Webで開発してるから仕方ない
- 980 名前:mdysdev● ◆XSDsAilQpD0E mailto:sage [2023/09/09(土) 06:59:15.87 ID:xfSBfAyx.net]
- スレ立てさせてください
- 981 名前:mdysdev ◆XSDsAilQpD0E mailto:sage [2023/09/09(土) 07:03:42.77 ID:xfSBfAyx.net]
- 次スレ立てました
WPF(.NET, WinUI) GUIプログラミング Part32 https://mevius.5ch.net/test/read.cgi/tech/1694210576/
- 982 名前:mdysdev ◆XSDsAilQpD0E mailto:sage [2023/09/09(土) 07:16:20.48 ID:xfSBfAyx.net]
- >>965
ホイールスクロールじゃなくてスクロールバーのつまみを持って高速で上下させるとガクガクしません? >>963 すごいね 時間とカネがあれば挑戦してみたいけど、 打算的な考えがはたらいてしまいどうも地味な部分(申し訳ない)に注力するのを躊躇してしまう これだと浅く広くになってしまってよくないんだろうけど。
- 983 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 15:42:58.83 ID:hHjqEXWc.net]
- >>972
うん、つまみもってスクロールさせてみた 他のsikiとかと比較すると吸い付きは悪いけど、実際使う上で この速度でイライラするかとそこはどうなんだろう >>954で上げたしたらばリーダーでやってみたけどゲロ速い
- 984 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 15:49:37.56 ID:hHjqEXWc.net]
- UWPとかそこら辺高速化する
事前バインディング(x:Bind)や段階的レンダリング(x:Phase)みたいのあるけど どれくらい効果あるのやら
- 985 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 18:25:25.91 ID:hHjqEXWc.net]
- xaml切り貼りして試したけど
>>956のこれでかなりスムーズにならね? VirtualizingPanel.VirtualizationMode="Recycling" これで解決やろ
- 986 名前:mdysdev ◆XSDsAilQpD0E mailto:sage [2023/09/09(土) 19:33:09.18 ID:xfSBfAyx.net]
- >>975
Recycling指定しただけだと表示されるレスがぐちゃぐちゃになってませんか? 結局RichTextBoxLoadedを呼びなおしてInline作らないといけないので、Recycling指定してもしなくても体感が変わらない気がします (というか変わらなかった) あとUI仮想化するときの致命点として、 表示されている近辺しかUIをメモリに保持していないので、 レス内の文字列検索する場合に全部探せないっていうのが・・
- 987 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 20:11:19.23 ID:hHjqEXWc.net]
- >>976
そっか 中身全然見てなかったww 元々LoadedでセットしてたからRecycleするとLoaded呼ばれなくなって中身が 更新されてなかったら速くなってたのかw 悪かった >レス内の文字列検索する場合に全部探せないっていうの ああ、これはRichTextBoxの機能でやろうとしてる? MVVM的にはViewModelのほうが全部データ持ってるはずだけど
- 988 名前:mdysdev ◆XSDsAilQpD0E mailto:sage [2023/09/09(土) 20:28:03.21 ID:xfSBfAyx.net]
- >>977
「検索にヒットしたレスだけを抜き出して表示」ならVMを検索してDataContextを再設定すればいいと思う。 ただ「レスを表示したまま」っていう要件で例えば検索ワードの背景色だけを変えたい場合って UIに全レスが読み込まれてないと出来ない気がするんだけど何かうまい方法あります?
- 989 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 20:53:19.09 ID:hHjqEXWc.net]
- >>978
ResViewItemViewModelのほうにアンカーやらリンクやらの 情報持ってるわけでしょ? そこに検索ヒット部分の情報持たせて、それらを混ぜて表示すればいいだけじゃない?
- 990 名前:mdysdev ◆XSDsAilQpD0E mailto:sage [2023/09/09(土) 21:00:00.66 ID:xfSBfAyx.net]
- >>979
ああ、なるほど。 理解しました
- 991 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 22:52:24.90 ID:6wE+xkUP.net]
- 色々ひっくり返るけど、WebView2でやるのが一番いいんじゃないかな?
- 992 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 00:01:36.42 ID:HR/6NGES.net]
- WebviewでやるならBlazor Hybridの方が良いかも?
C#と連携しやすいし
- 993 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 00:12:18.74 ID:/4aaxiYm.net]
- winformsとかwpfの案件ばかり渡り歩いてきたけどやっぱり斜陽なのかなぁ。きっちりウェブとかスマホアプリとかの勉強してそっちに軸足動かさないといかんのだろうか
とにかく不安で不安でしょうがない。何が一番不安ってwinformsやwpf本体以上にそういう現場って周りの開発環境自体もすごく古めかしいことが多い git?何それ?みたいなことばかり
- 994 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 00:16:03.86 ID:L5K9/P3E.net]
- そういうのはプログラマー板でやって
- 995 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 00:24:23.99 ID:W8P3LkyJ.net]
- 別にここでok
- 996 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 00:45:08.82 ID:y88PGdZC.net]
- その手の話はスレが荒れるからマ板で
特に「WPF以外は何がいい?」みたいな話に発展して、それもうWPF無関係じゃんってなる
- 997 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 00:47:46.81 ID:ZyGp2Gk+.net]
- 特別な用途別意外
デスクトップアブリの開発需要がないでー
- 998 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 13:31:19.20 ID:YVmQiRtO.net]
- 普通にデスクトップアプリは特殊用途でしか使われてない
CADとかそういうジャンルみたいのが一例
- 999 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 13:48:10.83 ID:YVmQiRtO.net]
- 10年以上前の話
工場などの管理アプリは以前はデスクトップだった 情報は生産管理室でしか見たりできなかった それがweb上に構築されて社内にいれば労働者が必要な権限のもと必要な情報を引き出せるようになった 営業も同じ 以前は会社に戻って日報ソフトで報告書を作ってたのがスマホから出せるようになった 作成も移動時間などの隙間時間を使える 在庫もその場で確認できる 以前は会社に電話確認してた DXが持てはやされる今なんで今更仕事でデスクトップアプリを使うのか 開発者のエゴなんじゃないか
- 1000 名前:デフォルトの名無しさん [2023/09/10(日) 14:09:35.55 ID:1PErJKRp.net]
- デスクトップやネイティブからWEBアプリになったのって
今はサーバー側の計算資源に余力あるのもでかいと思う フロント側で計算することが減った
- 1001 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 14:37:39.16 ID:YVmQiRtO.net]
- WPFが出る前後の話で描画がdirectXになるので速くなるのではと期待された
CADなんかもGDIから置き換えになるんじゃないかと C#が今よりメジャーになるんじゃないかと 実際はご存じの通りでまあなんでもあてにならんもんだなと
- 1002 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 15:37:57.94 ID:cU2jqfnk.net]
- webは手だしてみてるけど
いざ画面作るとなるといまいちcss操れないへっぽこさでなぁ
- 1003 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 15:52:00.61 ID:NUnFSs94.net]
- ワシらのためのbootstrap
- 1004 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 16:29:10.18 ID:qF59qXuI.net]
- >>932
それな 俺はflutterもやってるのでflutter for webに頑張ってもらってcssやらずに乗り切れるかどうか Webのバックエンドはgoとかやったけど
- 1005 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 16:32:58.69 ID:qF59qXuI.net]
- >>992だった
Webのバックエンド用にrustもかじったほうがいいのかな Web ApiでSQL叩くぐらいだけど asp.net vs go vs rust 悩む
- 1006 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|