これはすごい!Windowsじゃ無理って思えるGUIアプリ
>>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の方が劣っている >>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 >>72
やり直し
ドキュメントを見る限り、cairoのxlibによるハードウェアアクセラレーションはビットマップのコンポジションが中心であり、
CPUレンダリングを完全に排除できるものではないように見える。実際のソースコードを参照し、主要なAPIがラスタリングにCPUを用いていないことを確認せよ。
また、Linuxのcairoを利用しているアプリの多くがxlibバックエンドを使っているかどうかは自明ではない。調査せよ。 >>74
ちゃんとソースコードみてね
現在はXlibではなくXRenderでの描画なので見るコードはcairo-xlib-render-compositor.c ちなみにXRender,fontconfig, Xft, carioこれらはすべてKeith Packardが作ったもの
同じ人物が作ったので効率的に動くように作られている
Keith PackardはXorgのX Serverの主要な開発者でもある
それとVistaが変なのはWin32APIを捨てて.netメインにする設計思想だったLonghornの
開発に失敗して成果の一部だけ取り込んだためだからこの辺の事情は考慮すべき https://nyaruru.はてなブログ.com/entry/20090208/p1
矩形描画系はWDDM1.1でハードウェアアクセラレーションが効く
線分や円については現在のGPUの描画の仕組みではCPUで描画した物と
寸分違わず全く同じ見た目にするのは無理だろう >>73
Vista以降はウインドウが最小化されていても
他のウインドウに隠れいても
WM_PAINTが飛んでくるんだよ
ウィンドウの移動やウィンドウの順番変更のときって
表示されてるかどうかと何の関係もないだろ バッキングストアは卓上の端末と電算室のコンピュータが遅い回線でつながれていた時代の名残ですよ。
とても素晴らしいものってわけではないです。 同じハードウェア上で同じ仕組みを使って動いているのに、
compiz(Linux)だけ旧来のGDIアクセラレータが動いていると思っている事が間違いじゃね。
そもそもの話、今時のGPUにGDIのアクセラレータなんぞが乗っているのだろうか? そもそもパソコンのハードウェアはWindows用に設計されてるので、Windowsで効率が良いのは当然なんですよ。 >>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をバックエンドに描画することもできます さすがにGUIで窓や林檎に勝ってると思う奴は気がふれてる Downloadのページ開いたらてっぺんにsetup64.exeがあってワロタ Wayland対応がまともなのはGNOMEしかないな
設計はXよりきれいになったけど xface
unix でも最近あまり見ないが、あの味はwindows では難しかろう Xfceはエックスフェイスではなくエックスエフシーイーである >>90
ネットワーク上のマシンのload average をrwhoで取得して顔で表示するアプリの事だぞ? 88で書いたのは。
念のため >>91
>>90
すまん、xface じゃなくて xloadface だったわ。 https://tutorialmore.com/questions-578178.htm
まず1段階目、CPU負荷をネットワーク経由で取得できるか?調べたらできるようだ。
ならWindowsでも実現できるね。 >>94
数値じゃないよ、あの(無駄な?)味わいの話だよ。
windows でも作れなくはないだろうけど、作らんでしょ? クラスルーム向けX11アプリ共有ツール XMX
http://cs.brown.edu/software/xmx/
コンプライアンスとコスパを両立させようとするとWindowsじゃ無理 どうだろう。犬厨が考えるコスパ(笑)ってのは、機材が無料で手に入って人材も無償で使い放題な状況だから、
コンプライアンス的には真っ黒だろう。 >>98
犬厨って 林 檎 と 白 い お 父 さ ん 犬 が大好きなア フォ ン厨の事ですよ。
でもアッポレOSはWindowsと違って恐怖のiesysとA gentBaseに感染しないから、
身に覚えのない誤 認 逮 捕をされないんだお(笑) MacOS
今のMacOSって単なるDEなんだけど、OSと勘違いしている人がやたらと多い。 Linux
昔からLinuxはカーネルであってOSじゃないんだけど
OSと勘違いしてる人がやたら多い
OSとはAndroidやUbuntuのこと どうでもいい知識をドヤ顔で書くのもちょっと恥ずかしいね ターミナル(エミュレータ)
ターミナルだけはWindowsでは絶対むーりー コマンドプロンプトとかアレルギー発作起きるで コマンドプロンプトは
dockerとか、mklinkとかたまに使うけど
使いにくいね、