新しいものを表示

シンディ・ローパー、ヒット曲「Time After Time」の歌詞にまつわる裏話を語る - amass amass.jp/175607/

元ネタは比喩じゃなくてプロデューサーの腕時計がぶっ壊れた話って事?><;

PCのゲームはめちゃくちゃなメモリの使い方をしても「ちょっと重いゲームなので」でごまかせるだろうけど、ゲーム機版はハードウェアのスペックが固定だから、雑すぎたら低品質に直結(例えばfps低いとか)だろうし、特にPC版とゲーム機版の並行開発同時発売してるようなゲームの場合のゲーム機版開発してる人々って、どんな感じなんだろう?><

オレンジもそんな気がしてきたし、オレンジが作ったやつって、もしかして既存のものとは性質が違うユニークなものとして需要あるのかも?><;

orange さんがブースト

いや、そう名付けることの正当性はあるかもしれないけど、一般に言われているメモリクリーナーはそういうアプリケーションではないと思う

スレッドを表示
orange さんがブースト

それ “メモリクリーナー” と違う概念では? という感想になってる

理想はそうでも、例えばゲームでストーリー進行上もう使わないデータなんかはOS側が判別するのは限りなく不可能に近いだろうし(他の環境で既に実行して観測したデータをAIに解析させて共有させるとかはできるかもだけど)、無理なんでは感><

orange さんがブースト

全体最適 (リソースの余すことない活用) を目指すのであれば、アプリを跨いで戦略を構築できる OS に世話を任せるべきということです

スレッドを表示

振動が発生しそうなのはそれはそうだし、使わないなら解放しろよは完全にそうだし、だけどそう作られてないからメモリクリーナーというかプロセス指定でスワップアウトさせるツールを作ったわけで・・・><

orange さんがブースト

忘却して全く困らないならそもそも解放しろというのは前提として、アプリが PC 全体での “空きメモリ” (実はこれがかなり未定義概念だが) を眺めつつ能動的なスワップアウトをするようになると、その戦略の違い次第で “振動” したり不必要に動作を低速にする可能性がある。「相性問題」をアプリに発生させることになるし、マルチタスク前提の PC でそんなことをしたら挙動の制御がますます困難になるのは間違いない

スレッドを表示
orange さんがブースト

そういえばアプリによる能動的スワップアウトもあまり素敵に見えないという話をまだしてなかったな

Androidの一部のアプリのキャッシュが512MBを越えるとものすごい高負荷になる現象も、キャッシュってなんの為にあるんだよ感があれかも><(なぜか新しいデータから消してるっぽい珍妙なバグっぽいやつ><)

完全にメモリクリーナー(オレンジの文脈ではプロセス指定でEmptyWorkingSetできるやつ)が不要にする為には、
例えばETS2/ATSであれば、カーナビの出発地と到着地の設定から、到着地方面で使うモデルのデータはメモリ上に残しておいて、出発地付近でのみ使うモデルはある程度距離が離れたら開放するみたいな事をするようにならないとだめだと思う><
でも、ゲームやアプリの開発者でいまどきメモリをどう使うかを細かく考えてる人なんてほぼいない気がする><

逆にEmptyWorkingSetする前はずっとページファイルにものすごい読み書きしてるわけで、少しマシになってる><

一般的な「ボタンひとつ押せばOK」なメモリクリーナーに賢い動作を期待するのは、OSの管理に期待するのに近い話ではあるけど、
オレンジが自分で作ったやつは、プロセス単位で個別に指定してEmptyWorkingSetかけるだけのやつなので、自動じゃないのであれかも><

learn.microsoft.com/en-us/wind

orange さんがブースト

個人的には「メリットがある可能性までは否定しないが、それを目的に推奨したいかというとまずそれはない」くらいまでの評価しかできないですね。20年前ならともかく現代では。

スレッドを表示
orange さんがブースト

結局それ「行儀良いやつを苛めて行儀悪いやつは放置」でしかないし、メモリを空けるにせよその方法がカスであれば (可視化されていないだけで) 裏でデメリットもそれなりに発生している可能性があるわけだし (そしてそのプロファイリングをユーザは当然していない)、 †メモリクリーナー† を正当化するまでにまだ数段ある気がするんだよなぁ

スレッドを表示
orange さんがブースト

「アグレッシブにメモリ解放したいアプリとそうでないアプリがあって、ユースケースとパターンが完全に固定されている場合は OS の汎用ヒューリスティックよりも人間の方が熟知している場合はあるよね」までは同意できるけど、その結論が「だからメモリクリーナーもまだ有用」は……うーん?

一回全部スワップされて、必要な分が読み戻されるっぽい><
で、挙動を見てると、広域で使われてるデータと狭いエリアで使われてるデータがごちゃごちゃに混ざってそうな状況だと効果が少なくて、混ざってなさそうな状況だとうまくいくっぽい><
(American Truck Simulatorだと挙動がわかりやすい><)

orange さんがブースト

> 例えばゲームがストーリー進行上もう戻らないであろうエリアのデータを保持し続けるみたいなアホな挙動になってたりするのが、

べつにそういうの †メモリクリーナー† で解放されるとは思えないけど…… (いや実装言語によるのか?)

逆に言うと、ユーザーが明示的に残してほしいプロセスを指定する機能が必要って話になるし、「プロセス管理はもうOSに任せておけばいい時代になったんだ!」なんてOS開発者の妄想でしかないでしょってなる><

古いものを表示
:realtek:

思考の /dev/null