SDL=Simple DirectMedia Layerでゲームだat TECH
SDL=Simple DirectMedia Layerでゲームだ - 暇つぶし2ch379:デフォルトの名無しさん
09/02/01 17:39:14
あげておくか

380:デフォルトの名無しさん
09/02/08 19:38:23
SDL_SetDisplayMode関数を複数実行して
フルスクリーンとかOpenGL切り替えをしようと考えてるんですが

SDL_SetDisplayMode関数を実行する毎に
前のSDL_SetDisplayModeで確保したSDL_Screanって
Freeしなくても大丈夫ですか?

381:デフォルトの名無しさん
09/02/08 22:09:31
freeしとかんといかんとおもう

382:デフォルトの名無しさん
09/02/10 08:26:41
>>380
SDL_SetDisplayModeっての戻り値ってintだろ…
SDL_SetVideoMode() の戻り値なら SDL_Quit() で開放されることに
なってるので開放すべきではないということになってたはず

383:デフォルトの名無しさん
09/02/23 20:30:54
いくつかの画像フォーマットと描画速度(読み込み速度ではない)の関係を調べていたのですが、
gifが最速という結果が出ました。
ただ、予想に反してgifがbmpよりも速かったことに戸惑いを感じています。
みなさんの環境でもgifの表示はbmpよりも高速でしょうか?


===ここから詳細===
SDL/SDL_imageによる画像の描画速度に関してですが、
私の環境では、速い順に gif > bmp(32bit ARGB) > jpg >> png の順になり、gifが最速でした。
gifはjpgより2倍速く、pngはjpgより2倍遅いという結果になりました。
ただし、gifの場合、α値がうまく反映されず、半透明部分が半透明になりませんでした。
(しかし、完全に透明な部分は問題なく表示されませんでした。)
bmpは24bit/16bitRGBに変更しても描画速度に大した変化が見られませんでした。
環境はOpenSUSE11.1/SDL1.2/SDL_image1.2、グラフィックカードはオンボードです。
画像はGIMPを用いて作成しました。

384:デフォルトの名無しさん
09/02/23 20:44:03
ヒント:gifは8bit

385:デフォルトの名無しさん
09/02/23 21:04:42
>>383
元の画像のフォーマットが何かということを考えるよりも
- ロードして出来上がったSDL_Surface のフォーマット(depthとかビットマスクとか)がどんなものか
- 転送先のSDL_Surface のフォーマットがどんなものか
が問題なのでは?
SDLやSDL_Imageでロードしてできる SDL_Surface は大抵の場合
画像ファイルのフォーマットに近いもにになるんでつまり>>384ってことじゃない?

#スクリーンに描画してるなら SDL_DisplayFormat() するといいかも

386:デフォルトの名無しさん
09/02/23 21:22:35
>>384-385
確かに、SDL_DisplayFormatで変換したところ、描画が高速になりました。
内部フォーマットが描画速度に大きな影響を与えるんですね。
なんだかすっきりしました。ありがとうございます。

387:デフォルトの名無しさん
09/04/07 21:53:41
普段 Perl を使ってるので
SDL_perlモジュールで SDL を使って
ゲームを作ってみようかと思うのですが
perldoc では情報が少なくてイマイチ使い方がわかりません
何か参考になる良さげなものは無いのでしょうか?


388:デフォルトの名無しさん
09/04/08 14:36:32
URLリンク(sdl.perl.org)
当然チュートリアルは読んでいるものとして
それでも分からないならCか何か他の言語で使い方だけ理解すれば

389:デフォルトの名無しさん
09/04/08 20:48:11
>>388
ありがとうございます。
C での使い方をきちんと理解してから SDL_perl を使おうと思います。

390:デフォルトの名無しさん
09/05/17 22:46:34
SDL_mixerの音楽再生について、ひとつ質問させてください。

SDL_mixerを使ってogg形式のBGMを演奏しようとしているのですが
曲の演奏時に、定常的なノイズが入ってしまいます。
(特にループ再生の2回目以降で、大きなノイズがかかります)
これを回避できる方法はないでしょうか?

再生環境は以下の通りです。
・Windows XP
・Ruby 1.8.7 + Ruby/SDL 2.1.0を使用
・SDL_mixer 1.2.9
・open時のパラメータは44.1kHz、S16SYS、2ch、1KB-chunk

また、曲を入れ替えながら試してみたところ、以下のような傾向があるようです。
・ファイルサイズが大きい(曲が長い&音質が良い)とノイズが入りやすい
・open時の周波数を上げる(たとえば88.2kHzにする)とノイズが減る

391:390
09/05/17 22:47:42
すみません、SDLのバージョンを書き忘れていました。SDL 1.2.13です。

392:デフォルトの名無しさん
09/05/18 01:49:16
そのノイズって、プチッ・・プチッ・・と音が乗るノイズのことか?

393:390
09/05/18 09:33:19
表現しづらいですが、プチッ・・・というよりは
ザザザザ・・・という風な感じです
音が鳴るのに合わせてザザザザ・・・というノイズが重なっているような


394:390
09/05/18 20:06:55
ノイズの再現用に、oggを再生するだけの小さなプログラムを作ろうとしたのですが
そちらのプログラムでは何度やってもノイズが乗りませんでした。謎だ。
(同じ音楽ファイル・パラメータを使いました)

ひとまず、もう少し自力で原因を探ってみようと思います。
もし「これが原因じゃない?」と思い当たる節のある方がおられましたら
助言をいただけると幸いです。

395:デフォルトの名無しさん
09/05/18 20:25:01
多分バッファアンダーランだと思うんだが
ザザザ・・・だったらより深刻だな

396:390
09/05/31 22:33:44
いま原因を検証しているのですが
どうも音楽の音量変更に何かがあるらしい、というところまで分かってきました
音量変更がなければ綺麗に再生されます

397:390
09/05/31 22:49:39
音量が128(最大)であればノイズは入らず
それ以外の値であれば常に入るようです(64, 127などで確認)

398:デフォルトの名無しさん
09/07/05 20:49:31
あげ

399:tor1.digineo.de
09/08/17 17:46:57
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L

名言集 その3
『いつもサボってばかりのキャップがウゼえ』

スレリンク(news4vip板) ID:PVAf+dux0 = 自動焼人 ★
> 71 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:58:57.28 ID:PVAf+dux0
> >>69
> 大変って言うか
> 毎日、報告されたのを見て、判断して、処理して、完了報告して、以下ループ。
> ちょっとでもミスすると、普段は作業もしてないキャップさんたちがさんざん文句言ってきて
> その言いわけを考えないと、キャップはく奪されたりアカウント凍結されたりするから
>
> 登録されてから一年以上経って、やっといいたいこと言えるようになってきたよ。



----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
スレリンク(sec2chd板)
にて自動焼人 ★までご連絡ください


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch