HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0712
@key軽量化9解決


@key

リンク

2012/7/12(Thu) 16:49:00|NO.47628

何度も質問してしまってすいません

cellputを300回ほど行うマップ描画のプログラムなんですが、
32bitのxpで実行すると普通に軽いんですが、
64bitでメモリが1GBほど空いているwindows7で実行すると重くなってしまいます
なんででしょうか?



この記事に返信する


@key

リンク

2012/7/12(Thu) 16:49:55|NO.47629

すいません
BG、マップタイルと重なっているので600回です



てれてれ

リンク

2012/7/12(Thu) 19:24:45|NO.47633

スクリプトに問題が無いのであればグラボなどのハードウェアに問題があるんじゃないですか。
ドライバーが最新でないとか・・・



@key

リンク

2012/7/12(Thu) 23:44:24|NO.47644

二台のwindows7で試したのでドライブなどは問題ないと思います
マップが全て透明になる場所へいったらxpと同じように軽かったです



check

リンク

2012/7/13(Fri) 00:34:33|NO.47646

DirectDraw5などの古い機能を使っていると、
Windows Vista以降はすべてソフトウェアで実行されるから激遅くなるとか言う話を耳にしたことがあるが、
cel形のマニュアルを見てみると
>将来のバージョンでのαチャンネルサポートやDirectX対応を見据えた、高速描画のための拡張という側面を持っています。
>将来のバージョンでは、CEL関連命令で扱われる画像素材及び描画は、 DirectXによる高速化の対象となります。
と、将来のバージョンを強調しているため現在はめちゃくちゃ非効率的だがWinAPIで描画しているのだろう。

cel系をWindows 7で実行したら遅くなりました、とでもバグ報告しておけばいいんじゃないか。
俺はWindows 7使っているけれどもcel系の命令で負荷テストとかしたことないのでしらん。



@key

リンク

2012/7/13(Fri) 17:19:52|NO.47655

gcopyで同じような処理をしてみたんですが重さはかわりませんでした
なにか解決策はありませんでしょうか?



@key

リンク

2012/7/14(Sat) 22:18:54|NO.47690

es_bufferはどのように使うんですか?
ヘルプを見てもよくわかりません

celputの代わりになりますか?



ヂオン

リンク

2012/7/15(Sun) 04:12:56|NO.47692

そのマップ描画のルーチンは一体どこで使っているのでしょうか?

もし、メインループで毎回使用しているのでしたら、一度別画面に描画した後コピーしてくる
手法の方が軽量化できます。



@key

リンク

2012/7/15(Sun) 12:09:19|NO.47696

ありがとうございます!
マップが変わるときにだけ別のIDに描画して普段はgcopyで移す、という方法をとったらうまくいきました!



@key

リンク

2012/7/15(Sun) 12:18:19|NO.47697

というか、半透明付き透明色コピーモードがいけなかったみたいです
透明色が指定できるモードがこれしかなかったので使っていました
モード2で透明色を変更できたりできませんか?



ONION software Copyright 1997-2021(c) All rights reserved.