Enviar búsqueda
Cargar
BuriKaigi2018
•
0 recomendaciones
•
181 vistas
Y
Yutaka Tsumori
Seguir
BuriKaigi2018 .NET編の資料です。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 34
Descargar ahora
Descargar para leer sin conexión
Recomendados
RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩
Masato Noguchi
Xamarin の救世主 Unity !
Xamarin の救世主 Unity !
Tatsuji Kuroyanagi
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Tatsuji Kuroyanagi
Xamarin 基礎講座
Xamarin 基礎講座
Yoshito Tabuchi
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
Masato Noguchi
かけ算で使いこなす Xamarin
かけ算で使いこなす Xamarin
Tatsuji Kuroyanagi
JXUGC 13 東京 はじめに
JXUGC 13 東京 はじめに
Yoshito Tabuchi
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto
Recomendados
RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩
Masato Noguchi
Xamarin の救世主 Unity !
Xamarin の救世主 Unity !
Tatsuji Kuroyanagi
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Tatsuji Kuroyanagi
Xamarin 基礎講座
Xamarin 基礎講座
Yoshito Tabuchi
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
Masato Noguchi
かけ算で使いこなす Xamarin
かけ算で使いこなす Xamarin
Tatsuji Kuroyanagi
JXUGC 13 東京 はじめに
JXUGC 13 東京 はじめに
Yoshito Tabuchi
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto
#VSUG LT #JXUG の紹介
#VSUG LT #JXUG の紹介
Yoshito Tabuchi
Prism.Formsについて
Prism.Formsについて
一希 大田
JXUGC #9 Xamarin.Forms Mvvm Teachathon
JXUGC #9 Xamarin.Forms Mvvm Teachathon
Yoshito Tabuchi
Xamarin を使うとどんなことができるの?
Xamarin を使うとどんなことができるの?
Yoshito Tabuchi
Xamarin 社内勉強会の LT 資料
Xamarin 社内勉強会の LT 資料
Yoshito Tabuchi
Developers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよ
Shinichi Hirauchi
Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性
Atsushi Nakamura
第1回 Japan Xamarin User Group Conference - Xamarin 概要
第1回 Japan Xamarin User Group Conference - Xamarin 概要
Yoshito Tabuchi
Xamarinは辛いよ
Xamarinは辛いよ
Takkiiii
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Takumi Ohashi
Xamarin × Visual Studio Updates
Xamarin × Visual Studio Updates
友太 渡辺
2016.10.15アプリ発表会
2016.10.15アプリ発表会
b a
空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ
Akira Hatsune
HTML5で作るスマホブラウザゲーム
HTML5で作るスマホブラウザゲーム
Takumi Ohashi
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
Daiki Kawanuma
プラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvim
Keisuke Izumiya
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Yoshito Tabuchi
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy
Narami Kiyokura
10分でわかる無料になったXamarin
10分でわかる無料になったXamarin
Yoshito Tabuchi
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
Silverlightと業務アプリ
Silverlightと業務アプリ
Kentaro Inomata
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
irof N
Más contenido relacionado
La actualidad más candente
#VSUG LT #JXUG の紹介
#VSUG LT #JXUG の紹介
Yoshito Tabuchi
Prism.Formsについて
Prism.Formsについて
一希 大田
JXUGC #9 Xamarin.Forms Mvvm Teachathon
JXUGC #9 Xamarin.Forms Mvvm Teachathon
Yoshito Tabuchi
Xamarin を使うとどんなことができるの?
Xamarin を使うとどんなことができるの?
Yoshito Tabuchi
Xamarin 社内勉強会の LT 資料
Xamarin 社内勉強会の LT 資料
Yoshito Tabuchi
Developers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよ
Shinichi Hirauchi
Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性
Atsushi Nakamura
第1回 Japan Xamarin User Group Conference - Xamarin 概要
第1回 Japan Xamarin User Group Conference - Xamarin 概要
Yoshito Tabuchi
Xamarinは辛いよ
Xamarinは辛いよ
Takkiiii
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Takumi Ohashi
Xamarin × Visual Studio Updates
Xamarin × Visual Studio Updates
友太 渡辺
2016.10.15アプリ発表会
2016.10.15アプリ発表会
b a
空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ
Akira Hatsune
HTML5で作るスマホブラウザゲーム
HTML5で作るスマホブラウザゲーム
Takumi Ohashi
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
Daiki Kawanuma
プラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvim
Keisuke Izumiya
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Yoshito Tabuchi
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy
Narami Kiyokura
10分でわかる無料になったXamarin
10分でわかる無料になったXamarin
Yoshito Tabuchi
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
La actualidad más candente
(20)
#VSUG LT #JXUG の紹介
#VSUG LT #JXUG の紹介
Prism.Formsについて
Prism.Formsについて
JXUGC #9 Xamarin.Forms Mvvm Teachathon
JXUGC #9 Xamarin.Forms Mvvm Teachathon
Xamarin を使うとどんなことができるの?
Xamarin を使うとどんなことができるの?
Xamarin 社内勉強会の LT 資料
Xamarin 社内勉強会の LT 資料
Developers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよ
Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性
第1回 Japan Xamarin User Group Conference - Xamarin 概要
第1回 Japan Xamarin User Group Conference - Xamarin 概要
Xamarinは辛いよ
Xamarinは辛いよ
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Xamarin × Visual Studio Updates
Xamarin × Visual Studio Updates
2016.10.15アプリ発表会
2016.10.15アプリ発表会
空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ
HTML5で作るスマホブラウザゲーム
HTML5で作るスマホブラウザゲーム
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
プラグインだけじゃない!そのままでもすごいvim
プラグインだけじゃない!そのままでもすごいvim
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy
10分でわかる無料になったXamarin
10分でわかる無料になったXamarin
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Similar a BuriKaigi2018
Silverlightと業務アプリ
Silverlightと業務アプリ
Kentaro Inomata
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
irof N
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
YASUKAZU NAGATOMI
SIMD.js(ECMAScript 7)
SIMD.js(ECMAScript 7)
Hiroshi Kawada
運用管理を楽にしたいという話
運用管理を楽にしたいという話
Hisashi HATAKEYAMA
管理画面のアクセスコントロール
管理画面のアクセスコントロール
Masao Maeda
MySQL Binlog Events でストリーム処理してみた #MySQLUC15
MySQL Binlog Events でストリーム処理してみた #MySQLUC15
Yahoo!デベロッパーネットワーク
RPA 機能の UI flows が話題の Power Automate を理解せよ
RPA 機能の UI flows が話題の Power Automate を理解せよ
Yugo Shimizu
Html5 でアプリを作るということ
Html5 でアプリを作るということ
Naruto TAKAHASHI
CSS Nite in KansaiのMovable Typeスライド(黒野明子作成)
CSS Nite in KansaiのMovable Typeスライド(黒野明子作成)
Akiko Kurono
Similar a BuriKaigi2018
(11)
Silverlightと業務アプリ
Silverlightと業務アプリ
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
Kichijoji-mini #010:うちの残念な開発環境を正常な状態にするには?
SIMD.js(ECMAScript 7)
SIMD.js(ECMAScript 7)
運用管理を楽にしたいという話
運用管理を楽にしたいという話
管理画面のアクセスコントロール
管理画面のアクセスコントロール
MySQL Binlog Events でストリーム処理してみた #MySQLUC15
MySQL Binlog Events でストリーム処理してみた #MySQLUC15
RPA 機能の UI flows が話題の Power Automate を理解せよ
RPA 機能の UI flows が話題の Power Automate を理解せよ
Html5 でアプリを作るということ
Html5 でアプリを作るということ
CSS Nite in KansaiのMovable Typeスライド(黒野明子作成)
CSS Nite in KansaiのMovable Typeスライド(黒野明子作成)
Más de Yutaka Tsumori
Buri2019
Buri2019
Yutaka Tsumori
Setsな話
Setsな話
Yutaka Tsumori
XAMLで条件分岐
XAMLで条件分岐
Yutaka Tsumori
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
Yutaka Tsumori
Blync light for HACK
Blync light for HACK
Yutaka Tsumori
Aristeaのこと
Aristeaのこと
Yutaka Tsumori
Aristeaのコード補完
Aristeaのコード補完
Yutaka Tsumori
Windows phoneの新しい通知api
Windows phoneの新しい通知api
Yutaka Tsumori
せっけーのおはなし
せっけーのおはなし
Yutaka Tsumori
Community Open Day 沖縄
Community Open Day 沖縄
Yutaka Tsumori
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
Yutaka Tsumori
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!
Yutaka Tsumori
PhoneからPCへ。
PhoneからPCへ。
Yutaka Tsumori
Samba4でADしよう!
Samba4でADしよう!
Yutaka Tsumori
Twitter Client for ZSH
Twitter Client for ZSH
Yutaka Tsumori
AndroidではじめるJava
AndroidではじめるJava
Yutaka Tsumori
20120922 wdc with_ms_like
20120922 wdc with_ms_like
Yutaka Tsumori
某Music unなんとか
某Music unなんとか
Yutaka Tsumori
たのアプLt
たのアプLt
Yutaka Tsumori
Androidのおはなし++
Androidのおはなし++
Yutaka Tsumori
Más de Yutaka Tsumori
(20)
Buri2019
Buri2019
Setsな話
Setsな話
XAMLで条件分岐
XAMLで条件分岐
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
Blync light for HACK
Blync light for HACK
Aristeaのこと
Aristeaのこと
Aristeaのコード補完
Aristeaのコード補完
Windows phoneの新しい通知api
Windows phoneの新しい通知api
せっけーのおはなし
せっけーのおはなし
Community Open Day 沖縄
Community Open Day 沖縄
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!
PhoneからPCへ。
PhoneからPCへ。
Samba4でADしよう!
Samba4でADしよう!
Twitter Client for ZSH
Twitter Client for ZSH
AndroidではじめるJava
AndroidではじめるJava
20120922 wdc with_ms_like
20120922 wdc with_ms_like
某Music unなんとか
某Music unなんとか
たのアプLt
たのアプLt
Androidのおはなし++
Androidのおはなし++
Último
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
Último
(9)
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
BuriKaigi2018
1.
仮想化つらい、考えたくない - UWPのListViewの話 2018/2/3 Burikaigi
2018 (.NET) tmyt
2.
$ whoami tmyt (a.k.a.
津守) 最近はフリーランスをやっています Microsoft MVP for Windows Development Twitter: @tmyt 好きなWindows 10の機能: WSL
3.
今日やること UWPでのListViewの仮想化 仮想化の失敗事例 仮想化で成功したい 仮想化つらいを共有したい
4.
こんなことがありました
5.
仮想化されない
6.
仮想化されない 子要素の数 なんだこれ
7.
仮想化されないと メモリ使用量が多すぎる 描画速度が遅い スクロールのパフォーマンスが悪い つまり最悪なアプリの出来上がり
8.
仮想化のおさらい
9.
仮想化しない ViewPortの外もイン スタンスが存在する ViewPortの外もイン スタンスが存在する
10.
仮想化する ViewPortの外は インスタンスが 存在しない ViewPortの外は インスタンスが 存在しない
11.
ListViewの仮想化とは 表示されてない個所を描画しないことでコストを削減 メモリ CPU
etc.. 項目数が増えれば増えるほどパフォーマンスに影響大 正しく仮想化する必要がありますね!
12.
UWPでの仮想化 ピクセル単位で仮想化できるようになりました ItemContainerを基準として仮想化されている ListView →
ListViewItem ItemContainerを使いまわすパネルが実装されている VirtualizingStackPanel VirtualizingWrapPanel ItemsStackPanel ItemsWrapGrid ItemsPanelが仮想化に対応している場合たいていはいい感じに 仮想化される
13.
仮想化に失敗するとき
14.
ListViewが仮想化される条件 主に2個 1. 仮想化されるパネルを使用していること 2. ScrollViewerが有限の高さ/高さを持つこと つまり通常問題はない
15.
たとえばこれはだめ <ScrollViewer> <ListView /> </ScrollViewer> ScrollViewerの子要素になることでListViewの幅/高さが無限になるので仮想化されない
16.
なおしかた <ScrollViewer> <ListView Height=“10”/> </ScrollViewer> 有限な値にする ListViewの高さが明示的に指定されるので高さの計算で無限大にならない
17.
たとえばこれもだめ <ListView> <ListView.ItemsPanel> <ItemsPanelTemplate> <StackPanel /> </ItemsPanelTemplate> </ListView.ItemsPanel> </ListView>
18.
たとえばこれもだめ <ListView> <ListView.ItemsPanel> <ItemsPanelTemplate> <StackPanel /> </ItemsPanelTemplate> </ListView.ItemsPanel> </ListView> ListViewのItemsPanelが仮想化対応パネルじゃないので仮想化されない
19.
なおしかた <ListView> <ListView.ItemsPanel> <ItemsPanelTemplate> <ItemsStackPanel /> </ItemsPanelTemplate> </ListView.ItemsPanel> </ListView> 仮想化パネルを使う
20.
それでも仮想化が うまくいかない…
21.
どうしても仮想化がうまくいかない… 高さも指定した 仮想化対応パネルも使っている でも仮想化されない わからない 1年悩んだけど全く分からない
22.
その正体はItemTemplateSelector
23.
これなに 要素によって適用するDataTemplateを変更したいときに使う DataTemplateSelectorクラスに任意のDataTemplate選択アルゴ リズムを実装して使う Ex)項目の型、項目のプロパティ うまく作るとすごい便利 普段はXAMLで書ける仕組み作って使ってます
24.
こういう風に使ってます
25.
これの問題点 これを消すとうまく仮想化される 消してないとうまく仮想化されないことがある 半ばあきらめかけてMSDNを確認してみると
26.
MSDNを確認… うそでしょ なにそれ
27.
ChoosingItemContainerイベント 項目を表示させるためにコンテナが必要になったときに呼ばれ るイベント このイベントでいい感じにインスタンスを生成してあげるとう まい具合に仮想化がうまくいくことがある 少なくともItemTemplateSelectorを呼ぶよりはうまくいく確率 が高い(当社比)
28.
こんな実装でいいらしい var template =
Selector.SelectTemplate(args.Item); if (args.ItemContainer != null && args.ItemContainer.ContentTemplate != template) { args.ItemContainer.ContentTemplate = template; } if (args.ItemContainer == null) { args.ItemContainer = new ListViewItem { Style = sender.ItemContainerStyle, ContentTemplate = template, }; } args.IsContainerPrepared = true;
29.
雰囲気うまくいく理由 常に再利用できていそう DataTemplateを差し替えているので違うTemplateでも使いまわせてる ItemTemplateSelectorを使用する場合はDataTemplate差し替えをしてい ない雰囲気がある パフォーマンスもそれなりに出ている
ListViewItemのDataTemplateをいきなり変更しても案外大丈夫らしい ペナルティあっても仮想化されないときのパフォーマンス低下よりは まし
30.
雰囲気うまくいった結果 1/3になった よさそう
31.
仮想化の気持ちになってみると… ItemTemplateSelectorの実装は予測できない つまり項目に対するDataTemplateに何が使用されるか予測できない Ex)型が同じなら同じでいい?
だめ。内部データで判別してるかも。 ListViewItemのテンプレートが予測できない 仮想化するのかなり難しい 毎回評価するしかない 出てきたDataTemplateと同じListViewItemで使ってないコンテナを探すしかない 確かにあきらめたくなる
32.
まとめ
33.
まとめ 仮想化はたいていうまくいく うまくいかなかったときかなり辛い 原因はそんなに多くない ListViewの幅/高さは有限であるか パネルは仮想化に対応しているか
予測できないDataTemplateを使っていないか それでもだめなら仮想化の気持ちになってみる
34.
おまけ ItemTemplateSelectorが場合によって微妙な挙動することを 知ったので現在はBehaviorで対処しています。 http://bit.ly/2DOXbdN
Descargar ahora