X



トップページLinux
109コメント33KB
これはすごい!Windowsじゃ無理って思えるGUIアプリ
0059login:Penguin
垢版 |
2019/12/22(日) 15:04:42.21ID:KcIvIGvN
ニコニコ動画にあるcompizのデモに「いらねぇ」「うぜぇ」の文字が流れまくるのは面白い。
0060login:Penguin
垢版 |
2019/12/22(日) 16:11:32.61ID:0ZwqY8vu
>>57
> パフォーマンス、互換性ともにcompizなんかより遥かに上だよ
compizは完全な互換性をもちOpenGLを活用してパフォーマンスも問題ないが
DWMはGDIの性能が劣化するのでcompizの方がパフォーマンスは上

VistaのDWMではMFC等のGDIアプリにアクセラレーションがかからない
アクセラレーションがかかるのは.netアプリやDirect3Dアプリだけ

だから当時Windowsデスクトップアプリの大半がGDIアプリだったVistaでは
Aeroを切りXP互換で動かさないともっさりする

7以降のDWMではGDIのアクセラレーションが一部戻ったが完全にはかからない
7以降で完全にアクセラレーションされるのは.netのWPF、Direct3D、7新規APIの
Direct2D、8新規APIのWindowsRT

ttps://jehupc.ex@blog.jp/11464034/ (@とって)
ttps://nyaruru.hatena@blog.com/entry/20081126/p1 (@とって)
ttps://nyaruru.hatena@blog.com/entry/20090208/p1 (@とって)
ttps://ascii.jp/elem/000/000/730/730179/
ttps://docs.microsoft.com/en-us/windows/win32/learnwin32/overview-of-the-windows-graphics-architecture
0061login:Penguin
垢版 |
2019/12/22(日) 16:23:02.46ID:0ZwqY8vu
英語わからないかもしれないから一番下のMSのページに書いてあることを適当に翻訳すると

Hardware Acceleration
...
While GDI supports hardware accleration for certain operations, many GDI operations are bound to the CPU.
Direct2D is layered on top of Direct3D, and takes full advantage of hardware acceleration provided by the GPU.
If the GPU does not support the features needed for Direct2D, then Direct2D falls back to software rendering.
Overall, Direct2D outperforms GDI and GDI+ in most situations.

GDIはある種の操作のハードウェアアクセラレーションに対応しているが、多くのGDI操作はCPUに
割り当てられる。Direct2DはDirect3D上にあるので、GPUによるハードウェアアクセラレーションの
完全な恩恵を受けられる。GPUがDirect2Dに必要な機能に未対応なら、Direct2Dはソフトウェア
レンダリングで実行される。全体としては、Direct2Dはほとんどの場面でGDIやGDI+より高性能だ。
0062login:Penguin
垢版 |
2019/12/22(日) 16:46:16.92ID:KcIvIGvN
もっさり描画は事実だからなぁ。

ただ、Direct3Dには無理でもOpenGLなら出来るなんて事も無いから、
compizも同様の制限を持つはず。ただ元がWindowsに対して大分もっさりしていたから、
制限がかかっても目立たなんじゃなかろうか。
0063login:Penguin
垢版 |
2019/12/22(日) 17:11:06.81ID:tJ/Xiqlt
>>57 >>60
ベンチなどで比較してくれないとサッパリわからないな
0065login:Penguin
垢版 |
2019/12/22(日) 21:02:55.28ID:TOHmtqVb
カーネルがGUIか?ってのは置いとくとしても
WindowsのLinuxサブシステムでUbuntu動いたりするわけだからまったく無理というわけでもない
0066login:Penguin
垢版 |
2019/12/22(日) 21:37:42.88ID:o/YB9Rkd
>>60
compizやDWMの仕事はレンダリング済みのウインドウを最終的に板ポリゴンとして画面に描画することに過ぎず、
そんな簡単な処理がハードウェアアクセラレーションを完全に活用できるのはcompizだろうがDWMだろうが当たり前だ
GDIのハードウェアアクセラレーション云々はその前のウインドウ内のレンダリングの話であり、レイヤが違う
Linuxではウインドウ内のレンダリングは各アプリケーションに任されており、そもそも最初からソフトウェアレンダリングしているものが多い
62も言ってるけど、compiz以前に元々遅いんだよLinuxのGUIアプリは
0067login:Penguin
垢版 |
2019/12/22(日) 21:37:59.04ID:o/YB9Rkd
>>60
compizやDWMの仕事はレンダリング済みのウインドウを最終的に板ポリゴンとして画面に描画することに過ぎず、
そんな簡単な処理がハードウェアアクセラレーションを完全に活用できるのはcompizだろうがDWMだろうが当たり前だ
GDIのハードウェアアクセラレーション云々はその前のウインドウ内のレンダリングの話であり、レイヤが違う
Linuxではウインドウ内のレンダリングは各アプリケーションに任されており、そもそも最初からソフトウェアレンダリングしているものが多い
62も言ってるけど、compiz以前に元々遅いんだよLinuxのGUIアプリは
0068BeOS最強伝説
垢版 |
2019/12/22(日) 22:16:44.21ID:r16puUTY
>>66が正確に書いているけど
>compiz以前に元々遅いんだよLinuxのGUIアプリは
結局はこれに尽きる。

考え方が古いフレームワークが基盤にあるWindowシステムだと
うわ物がどんなに良くてもだめってことを示してる。

ただもうこの辺りは何十年も進歩してないから割り切っているんだと思う。
0069login:Penguin
垢版 |
2019/12/22(日) 22:29:43.83ID:v6c47t1r
Direct2DがGDIやGDI+より高速なのは事実だよ

だけどGDIが主流の時代のアルゴリズムは
画面に表示されてない部分は描画を省くという
手法でその遅さをカバーしていた

今は表示されてない部分を含めてすべて描画してるので遅くなってる。
だから描画速度はDirect2Dの方が高速だけど
(そもそも描画してないから)昔のOSの方が軽く感じる。
そして今のOSでは(常に描画するので)GDIが速くなることはない。
0070login:Penguin
垢版 |
2019/12/22(日) 22:59:32.63ID:0xo2ZMbI
GDIはアルゴリズムイントロダクションで紹介されてるような技法で構成されてる。
実数を扱えないのでどうしようかってところから編み出された古典であり基本なんですよ。
GDI+はエクスプレッションというお絵かきソフトを買い取って作ったもの。
エクスプレッション自体は大変出来の良いソフトで、たしか二人の数学者が作ってたと思います。
僕も買いました。
愛用してたわけじゃないですが。
0071login:Penguin
垢版 |
2019/12/22(日) 23:12:35.41ID:0xo2ZMbI
GDIは一部の機能をハードウェアに任せることができたのも大きかったですね。
グラフィックアクセラレータというやつです。
DOSの時代には転送速度の速いET4000系列のグラフィックカードがもてはやされましたが、Windowsの時代になるとアクセラレータを搭載するS3系列に主役が変わったと思います。
0072login:Penguin
垢版 |
2019/12/23(月) 11:47:13.28ID:l8JnRNko
>>66
LinuxのXアプリが使うXlib(GDIに相当)もXRender(GDI+やDirect2Dに相当)もちゃんと
ハードウェアアクセラレーションが掛かるよ

Nvidiaは知らないが、IntelとAMDのグラフィックボードの場合、X Serverは以前は
XAAというグラフィックボードの2Dアクセラレーションを活用する形で、現在は
GlamorというOpenGLを使ってグラフィックボードの3Dのアクセラレーションを
活用してXlibやXRenderをハードウェアアクセラレーションしている

ちなみにFirefoxはLinuxでもWindowsでもgtk+が使うCairoというレンダリング
ライブラリを使っていて、LinuxではXRender、WindowsではDirect2Dを使うので
ちゃんとハードウェアアクセラレーションされているし、ChromeもSkia経由で
同様にアクセラレーションされる

Vista以降のWindowsでは残念ながら今も多くのアプリが使うGDIのアクセラ
レーションが不十分なのでLinuxよりWindowsのDWMの方が劣っている
0073login:Penguin
垢版 |
2019/12/23(月) 12:05:50.02ID:l8JnRNko
>>69
> 画面に表示されてない部分は描画を省くという
これは今でも一緒だよ

WindowsでもXでも再描画が必要な部分がどこかWM_PAINTメッセージやExposeイベントで
送られてくるので、必要な範囲だけ再描画する

実際はコントロールやウィジット単位で再描画する実装になっているけどね

> 今は表示されてない部分を含めてすべて描画してるので遅くなってる。

いいえ

DWMやcompizのようなWindowの内容を保存するbacking storeを利用するシステムでは
ウィンドウの移動やウィンドウの順番変更のときはWM_PAINTやExposeが飛ばない

ちゃんと最適化されている

ちなみにDWMでGDIに問題が生じたのと違ってcompizでXlibの描画に問題が生じないのは
X Window Systemは20年以上前からbacking storeを利用したウィンドウ管理ができるように
なっていたから

ttp://xjman.dsl.gr.jp/X11R6/X11/CH03.html
0074login:Penguin
垢版 |
2019/12/23(月) 12:41:33.06ID:ySsXS/YG
>>72
やり直し
ドキュメントを見る限り、cairoのxlibによるハードウェアアクセラレーションはビットマップのコンポジションが中心であり、
CPUレンダリングを完全に排除できるものではないように見える。実際のソースコードを参照し、主要なAPIがラスタリングにCPUを用いていないことを確認せよ。
また、Linuxのcairoを利用しているアプリの多くがxlibバックエンドを使っているかどうかは自明ではない。調査せよ。
0075login:Penguin
垢版 |
2019/12/23(月) 14:46:34.02ID:l8JnRNko
>>74
ちゃんとソースコードみてね

現在はXlibではなくXRenderでの描画なので見るコードはcairo-xlib-render-compositor.c
0076login:Penguin
垢版 |
2019/12/23(月) 15:01:01.25ID:l8JnRNko
ちなみにXRender,fontconfig, Xft, carioこれらはすべてKeith Packardが作ったもの
同じ人物が作ったので効率的に動くように作られている

Keith PackardはXorgのX Serverの主要な開発者でもある

それとVistaが変なのはWin32APIを捨てて.netメインにする設計思想だったLonghornの
開発に失敗して成果の一部だけ取り込んだためだからこの辺の事情は考慮すべき
0077login:Penguin
垢版 |
2019/12/23(月) 15:25:53.87ID:HVMvZb4c
https://nyaruru.はてなブログ.com/entry/20090208/p1

矩形描画系はWDDM1.1でハードウェアアクセラレーションが効く

線分や円については現在のGPUの描画の仕組みではCPUで描画した物と
寸分違わず全く同じ見た目にするのは無理だろう
0078login:Penguin
垢版 |
2019/12/23(月) 16:33:56.45ID:7uXoPuqJ
>>73
Vista以降はウインドウが最小化されていても
他のウインドウに隠れいても
WM_PAINTが飛んでくるんだよ

ウィンドウの移動やウィンドウの順番変更のときって
表示されてるかどうかと何の関係もないだろ
0079login:Penguin
垢版 |
2019/12/23(月) 16:40:20.08ID:OVfiG/dD
バッキングストアは卓上の端末と電算室のコンピュータが遅い回線でつながれていた時代の名残ですよ。
とても素晴らしいものってわけではないです。
0080login:Penguin
垢版 |
2019/12/23(月) 16:44:19.85ID:KEa7nQLo
同じハードウェア上で同じ仕組みを使って動いているのに、
compiz(Linux)だけ旧来のGDIアクセラレータが動いていると思っている事が間違いじゃね。

そもそもの話、今時のGPUにGDIのアクセラレータなんぞが乗っているのだろうか?
0081login:Penguin
垢版 |
2019/12/23(月) 16:58:41.22ID:OVfiG/dD
そもそもパソコンのハードウェアはWindows用に設計されてるので、Windowsで効率が良いのは当然なんですよ。
0082login:Penguin
垢版 |
2019/12/23(月) 17:50:29.36ID:OVfiG/dD
動画は超解像度がよく効くよね。
0083login:Penguin
垢版 |
2019/12/23(月) 19:32:26.64ID:l8JnRNko
>>78
何を言いたいのかわからないのでVistaの描画システムの解説ページを貼るね

ttps://www.atmarkit.co.jp/fwin2k/vista_feature/05hardware/05hardware_03.html

従来のウィンドウ・システム
ウィンドウが動いたり、上下関係が変わるたびにリペイント・イベントが発生することになる。だが、たくさんの
アプリケーションで少ないメモリ(画面1枚分のメモリ)を共有するためにはしょうがないだろう。

Vistaのウィンドウ・システム
先ほど述べたように、ウィンドウの移動などに伴うリペイントが発生しないので、無駄なCPU時間の消費が抑えられる。
アプリケーションは自分自身のバッファ内にさえ描画しておけば、あとはすべてDWMが処理してくれる。

リペイント・イベント=WM_PAINTが飛ぶ

>>80
ちゃんと>>72で書いたつもりなんだけど、現行のシステムの場合compizもその上で動くアプリも
最終的にOpenGLの3Dアクセラレーションを利用する

忘れていたけどcairoは直接OpenGLをバックエンドに描画することもできます
0084login:Penguin
垢版 |
2019/12/24(火) 19:02:23.47ID:L5i1QPrG
さすがにGUIで窓や林檎に勝ってると思う奴は気がふれてる
0087login:Penguin
垢版 |
2020/01/05(日) 19:21:59.42ID:Hm5C/G5u
Downloadのページ開いたらてっぺんにsetup64.exeがあってワロタ
0088login:Penguin
垢版 |
2020/02/04(火) 19:10:50.44ID:DIcuvBCC
Wayland対応がまともなのはGNOMEしかないな
設計はXよりきれいになったけど
0089login:Penguin
垢版 |
2020/02/06(木) 22:07:59.32ID:la4W9VTn
xface
unix でも最近あまり見ないが、あの味はwindows では難しかろう
0090login:Penguin
垢版 |
2020/02/06(木) 22:31:49.19ID:ESBQyLO3
Xfceはエックスフェイスではなくエックスエフシーイーである
0091login:Penguin
垢版 |
2020/02/07(金) 13:59:05.91ID:Fv5LsiQE
>>90
ネットワーク上のマシンのload average をrwhoで取得して顔で表示するアプリの事だぞ? 88で書いたのは。
念のため
0093login:Penguin
垢版 |
2020/02/07(金) 16:29:29.93ID:Fv5LsiQE
>>91
>>90
すまん、xface じゃなくて xloadface だったわ。
0095login:Penguin
垢版 |
2020/02/07(金) 21:12:28.36ID:wKJgarMF
>>94
数値じゃないよ、あの(無駄な?)味わいの話だよ。

windows でも作れなくはないだろうけど、作らんでしょ?
0096login:Penguin
垢版 |
2020/02/08(土) 15:25:58.39ID:d8QTAMZT
そーいう趣旨のスレじゃないと思うけどなぁ。
0098login:Penguin
垢版 |
2020/02/21(金) 11:30:29.43ID:KJuUnQne
どうだろう。犬厨が考えるコスパ(笑)ってのは、機材が無料で手に入って人材も無償で使い放題な状況だから、
コンプライアンス的には真っ黒だろう。
0099login:Penguin
垢版 |
2020/02/22(土) 07:42:52.07ID:XMxRSfLo
>>98
犬厨って 林 檎 と 白 い お 父 さ ん 犬 が大好きなア フォ ン厨の事ですよ。
でもアッポレOSはWindowsと違って恐怖のiesysとA gentBaseに感染しないから、
身に覚えのない誤 認 逮 捕をされないんだお(笑)
0101login:Penguin
垢版 |
2020/04/08(水) 20:34:10.14ID:1oYnc0H2
文句を言うなクソドザ!
0103login:Penguin
垢版 |
2020/04/09(木) 12:32:32.81ID:OaDOmDMa
文句を言うなクソドザ!
0104login:Penguin
垢版 |
2021/04/26(月) 23:38:30.47ID:yW5GJ2iT
MacOS
今のMacOSって単なるDEなんだけど、OSと勘違いしている人がやたらと多い。
0105login:Penguin
垢版 |
2021/04/27(火) 00:54:24.97ID:T3TtOINR
Linux
昔からLinuxはカーネルであってOSじゃないんだけど
OSと勘違いしてる人がやたら多い
OSとはAndroidやUbuntuのこと
0106login:Penguin
垢版 |
2022/03/16(水) 04:45:01.21ID:dT58ZzQR
どうでもいい知識をドヤ顔で書くのもちょっと恥ずかしいね
0107login:Penguin
垢版 |
2022/05/19(木) 16:40:52.24ID:FKKzsVjl
ターミナル(エミュレータ)
ターミナルだけはWindowsでは絶対むーりー コマンドプロンプトとかアレルギー発作起きるで
0108login:Penguin
垢版 |
2022/05/19(木) 17:25:03.57ID:MigUC3rG
無理ではないが使い道が無いからなぁw
0109login:Penguin
垢版 |
2022/05/19(木) 23:39:11.91ID:EWDWVzAq
コマンドプロンプトは
dockerとか、mklinkとかたまに使うけど
使いにくいね、
レスを投稿する


ニューススポーツなんでも実況