SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
半透明は飾りです
偉い人にはそれがわからんのですよ
   グレープシティ株式会社
      八巻 雄哉
XP以前
ビデオメモリの中
描画の仕組み
描画の仕組み
描画の仕組み
描画の仕組み
描画の仕組み
描画の仕組み
描画の仕組み
誰が描画してるの?




            A


                 Q
            各   いビ
            ア   るデ
            プ   のオ
            リ   はメ
            ケ   誰モ
            ー   ?リ
            シ    に
            ョ    描
            ン    画
                 し
                 て
Vista以降
ビデオメモリの中
描画の仕組み
描画の仕組み
描画の仕組み
描画の仕組み
描画の仕組み
描画の仕組み
描画の仕組み
描画の仕組み
Q
              てビ
              いデ
              るオ
              のメ
              はモ
              誰リ
              ?に
               描
               画
               し

          A   Desktop Window
              Manager DWM
                     (


                           )
Vista以降
ドライバモデル

                                                          GDI/    レガシー      Direct   Direct3   Direct
                                                          GDI+    DirectX   3D 9     D 9 Ex    3D 10

                     レガシー
   GDI/GDI+                       Direct3D 9                           DirectX ランタイム
                     DirectX

                                                          Windows Vista Display Driver Model(WDDM)
     GDI32             DirectX ランタイム
                                               カーネル/API                   (ユーザー)                        カーネル/API


          ユーザーモード/カーネルモード境界                                       ユーザーモード/カーネルモード境界

XP Display Driver    XP Display Driver Model   ドライバ       Windows Vista Display Driver Model(WDDM)      ドライバ
 Model(GDI)         (DirectDraw/Direct3D)                                 (カーネル)


        XPDM(Windows XP)                                      WDDM(Windows Vista)

  デスクトップは
    全画面のDirect3Dアプリケーション
  すべての描画がDirectXランタイムを経由
描画はDWMが管理
 Windows     Vista(WDDM 1.0)の場合
GDIアプリケーション     DWM           Direct3Dサーフェイス
   フレームバッファ(システムメモリ)            (ビデオメモリ)
         描画イメージ
 CPU描画   (ARGB形式)     コピー      描画イメージ
         プロセス間共有               (ARGB形式)
                                               合成して更新
GDIアプリケーション
   フレームバッファ(システムメモリ)           描画イメージ
         描画イメージ                (ARGB形式)
 CPU描画   (ARGB形式)     コピー
         プロセス間共有
                        プロセス間共有
Direct3Dアプリケーション(WPF含む) サーフェイス
                    Present
          バック   サーフェス反転        描画イメージ
         バッファ   でリダイレクト
                               隠しサーフェイス
                               (ビデオメモリ)
何がいいの?
半透明
各ウインドウのプレビュー
再描画問題の解消
ティアリングの解消
 描画とモニター表示の更新で
同期がとれずにちらついて見える現象
ブルースクリーンの減少
 ドライバを
  カーネルモードとユーザーモードに分離
 不正なドライバ制御による
        システムクラッシュを回避
DPIスケーリング
 DPIスケーリングを意識していない
アプリケーションでも適切にスケーリング
DPIスケーリング
おしまい

Weitere ähnliche Inhalte

Andere mochten auch

Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
Yuya Yamaki
 
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成についてUnity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
Tatsuhiko Yamamura
 
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
満徳 関
 

Andere mochten auch (20)

さあ、始めましょう―Call to Action―
さあ、始めましょう―Call to Action―さあ、始めましょう―Call to Action―
さあ、始めましょう―Call to Action―
 
デスクトップアプリを『一歩前へ』進める方法
デスクトップアプリを『一歩前へ』進める方法デスクトップアプリを『一歩前へ』進める方法
デスクトップアプリを『一歩前へ』進める方法
 
XP祭り2016 - SWチームとHWチームがスクラムを組んだら
XP祭り2016 - SWチームとHWチームがスクラムを組んだらXP祭り2016 - SWチームとHWチームがスクラムを組んだら
XP祭り2016 - SWチームとHWチームがスクラムを組んだら
 
Introducing windows 10 universal driver
Introducing windows 10 universal driverIntroducing windows 10 universal driver
Introducing windows 10 universal driver
 
XP祭り2013-LT-Codeer
XP祭り2013-LT-CodeerXP祭り2013-LT-Codeer
XP祭り2013-LT-Codeer
 
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろうVisual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
 
Introducing Windows 10 Universal Driver
Introducing Windows 10 Universal DriverIntroducing Windows 10 Universal Driver
Introducing Windows 10 Universal Driver
 
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like databaseオフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
 
bashでWebブラウザ(Selenium WebDriver)を動かした話
bashでWebブラウザ(Selenium WebDriver)を動かした話bashでWebブラウザ(Selenium WebDriver)を動かした話
bashでWebブラウザ(Selenium WebDriver)を動かした話
 
Gstreamer plugin development
Gstreamer plugin development Gstreamer plugin development
Gstreamer plugin development
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
About GStreamer 1.0 application development for beginners
About GStreamer 1.0 application development for beginnersAbout GStreamer 1.0 application development for beginners
About GStreamer 1.0 application development for beginners
 
Gstreamer plugin devpt_1
Gstreamer plugin devpt_1Gstreamer plugin devpt_1
Gstreamer plugin devpt_1
 
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成についてUnity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
 
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
 
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
 
手動テストからの移行大作戦
手動テストからの移行大作戦手動テストからの移行大作戦
手動テストからの移行大作戦
 
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ストーリーテリング ~よい聞き手になるための学習~』第12回 POStudy 〜プロダクトオーナーシップ勉強会〜
 
JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話
 
テスト自動化のパターンと実践
テスト自動化のパターンと実践テスト自動化のパターンと実践
テスト自動化のパターンと実践
 

Ähnlich wie 半透明は飾りです 偉い人にはそれがわからんのですよ

Abc2012spring robot sammit - Kurimoto
Abc2012spring robot sammit - KurimotoAbc2012spring robot sammit - Kurimoto
Abc2012spring robot sammit - Kurimoto
Kenichi Kurimoto
 
社内勉強会プロジェクションマッピング
社内勉強会プロジェクションマッピング社内勉強会プロジェクションマッピング
社内勉強会プロジェクションマッピング
Shugo Numano
 
Androidのライブ壁紙について
Androidのライブ壁紙についてAndroidのライブ壁紙について
Androidのライブ壁紙について
yoropan
 
[120915] igda sig indie9
[120915] igda sig indie9[120915] igda sig indie9
[120915] igda sig indie9
IGDA Japan
 

Ähnlich wie 半透明は飾りです 偉い人にはそれがわからんのですよ (20)

今さらWPF? いいえ、今こそWPF!
今さらWPF?いいえ、今こそWPF!今さらWPF?いいえ、今こそWPF!
今さらWPF? いいえ、今こそWPF!
 
Hello, DirectCompute
Hello, DirectComputeHello, DirectCompute
Hello, DirectCompute
 
Cerebro for VFX / Animation Japan
Cerebro for VFX / Animation JapanCerebro for VFX / Animation Japan
Cerebro for VFX / Animation Japan
 
[Final]조진현 direct write
[Final]조진현 direct write[Final]조진현 direct write
[Final]조진현 direct write
 
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
 
GTMF2012 SpriteStudio と "Unity" と "CoronaSDK" と "ngCore" ! ~組み合わせて改善する 2D ワーク...
GTMF2012 SpriteStudio と "Unity" と "CoronaSDK" と "ngCore" ! ~組み合わせて改善する 2D ワーク...GTMF2012 SpriteStudio と "Unity" と "CoronaSDK" と "ngCore" ! ~組み合わせて改善する 2D ワーク...
GTMF2012 SpriteStudio と "Unity" と "CoronaSDK" と "ngCore" ! ~組み合わせて改善する 2D ワーク...
 
Windows phone!そういうのもあるのか
Windows phone!そういうのもあるのかWindows phone!そういうのもあるのか
Windows phone!そういうのもあるのか
 
Oem pcのつくりかた
Oem pcのつくりかたOem pcのつくりかた
Oem pcのつくりかた
 
MAUIGraphicsNamespace.pptx
MAUIGraphicsNamespace.pptxMAUIGraphicsNamespace.pptx
MAUIGraphicsNamespace.pptx
 
Windows 8時代のアプリ開発
Windows 8時代のアプリ開発Windows 8時代のアプリ開発
Windows 8時代のアプリ開発
 
Abc2012spring robot sammit - Kurimoto
Abc2012spring robot sammit - KurimotoAbc2012spring robot sammit - Kurimoto
Abc2012spring robot sammit - Kurimoto
 
Abc2012spring slide
Abc2012spring slideAbc2012spring slide
Abc2012spring slide
 
社内勉強会プロジェクションマッピング
社内勉強会プロジェクションマッピング社内勉強会プロジェクションマッピング
社内勉強会プロジェクションマッピング
 
3d graphics solution jp
3d graphics solution jp3d graphics solution jp
3d graphics solution jp
 
Androidのライブ壁紙について
Androidのライブ壁紙についてAndroidのライブ壁紙について
Androidのライブ壁紙について
 
3DCAD導入セミナー~3DCADの選び方~
3DCAD導入セミナー~3DCADの選び方~3DCAD導入セミナー~3DCADの選び方~
3DCAD導入セミナー~3DCADの選び方~
 
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NXNVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
 
Developers Summit 2013【14-E-3】Windows 8デザインガイド
Developers Summit 2013【14-E-3】Windows 8デザインガイドDevelopers Summit 2013【14-E-3】Windows 8デザインガイド
Developers Summit 2013【14-E-3】Windows 8デザインガイド
 
XenDesktop / XenAppグラフィック ディープダイブ
XenDesktop / XenAppグラフィック ディープダイブ XenDesktop / XenAppグラフィック ディープダイブ
XenDesktop / XenAppグラフィック ディープダイブ
 
[120915] igda sig indie9
[120915] igda sig indie9[120915] igda sig indie9
[120915] igda sig indie9
 

Mehr von Yuya Yamaki

デスクトップアプリ開発者が押さえておくべき Windows 8時代の変革
デスクトップアプリ開発者が押さえておくべきWindows 8時代の変革デスクトップアプリ開発者が押さえておくべきWindows 8時代の変革
デスクトップアプリ開発者が押さえておくべき Windows 8時代の変革
Yuya Yamaki
 
Windows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミングWindows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミング
Yuya Yamaki
 
Metroスタイルで花開くか? XAMLベースのUIフレームワーク
Metroスタイルで花開くか?XAMLベースのUIフレームワークMetroスタイルで花開くか?XAMLベースのUIフレームワーク
Metroスタイルで花開くか? XAMLベースのUIフレームワーク
Yuya Yamaki
 
77回スピーカーを経験して分かったこと」共有します
77回スピーカーを経験して分かったこと」共有します77回スピーカーを経験して分かったこと」共有します
77回スピーカーを経験して分かったこと」共有します
Yuya Yamaki
 
Silverlight 5でぶり返すWPF不要論
Silverlight 5でぶり返すWPF不要論Silverlight 5でぶり返すWPF不要論
Silverlight 5でぶり返すWPF不要論
Yuya Yamaki
 
60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック
Yuya Yamaki
 
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
Yuya Yamaki
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Yuya Yamaki
 
Silverlight Line-Of-Business Applications
Silverlight Line-Of-Business ApplicationsSilverlight Line-Of-Business Applications
Silverlight Line-Of-Business Applications
Yuya Yamaki
 

Mehr von Yuya Yamaki (18)

Basic言語でiOSアプリを作る
Basic言語でiOSアプリを作るBasic言語でiOSアプリを作る
Basic言語でiOSアプリを作る
 
続Xamarinはじめました
続Xamarinはじめました続Xamarinはじめました
続Xamarinはじめました
 
Xamarinはじめました
XamarinはじめましたXamarinはじめました
Xamarinはじめました
 
TypeScript入門してみた
TypeScript入門してみたTypeScript入門してみた
TypeScript入門してみた
 
.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略
 
.NET技術でこれからも食べていくための技術戦略
.NET技術でこれからも食べていくための技術戦略.NET技術でこれからも食べていくための技術戦略
.NET技術でこれからも食べていくための技術戦略
 
デスクトップアプリ開発者が押さえておくべき Windows 8時代の変革
デスクトップアプリ開発者が押さえておくべきWindows 8時代の変革デスクトップアプリ開発者が押さえておくべきWindows 8時代の変革
デスクトップアプリ開発者が押さえておくべき Windows 8時代の変革
 
Windows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミングWindows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミング
 
どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発
 
Metroスタイルで花開くか? XAMLベースのUIフレームワーク
Metroスタイルで花開くか?XAMLベースのUIフレームワークMetroスタイルで花開くか?XAMLベースのUIフレームワーク
Metroスタイルで花開くか? XAMLベースのUIフレームワーク
 
WPF/Silverlight視点で視る MetroスタイルのXAML
WPF/Silverlight視点で視るMetroスタイルのXAMLWPF/Silverlight視点で視るMetroスタイルのXAML
WPF/Silverlight視点で視る MetroスタイルのXAML
 
77回スピーカーを経験して分かったこと」共有します
77回スピーカーを経験して分かったこと」共有します77回スピーカーを経験して分かったこと」共有します
77回スピーカーを経験して分かったこと」共有します
 
Silverlight 5でぶり返すWPF不要論
Silverlight 5でぶり返すWPF不要論Silverlight 5でぶり返すWPF不要論
Silverlight 5でぶり返すWPF不要論
 
60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック
 
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
 
Silverlight Line-Of-Business Applications
Silverlight Line-Of-Business ApplicationsSilverlight Line-Of-Business Applications
Silverlight Line-Of-Business Applications
 
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
 

半透明は飾りです 偉い人にはそれがわからんのですよ