メニュー
Infomation
■お知らせ
[スパム対策]コメントにURLを含めると自動的に削除されます。
■このサイトについて
一応残していますが、全時代の遺物。全ての情報は古く役に立ちません 連絡先:メールアドレス
■日記更新情報
RSSRSS|RSS(本文のみ)|lirs
実験&リサーチ
巡回先
製作環境
 

 



2004|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|11|12|
2011|01|
2014|05|08|
2017|07|
2018|03|

2005年03月26日(Saturday)

_ ヌガー

左のメニューいじってたらすごく見づらくなってしまいましたが、あとで直します。

_ 今日の日記

前売り券買ってきた。

とりあえず1枚。


栄に出来たラシックに行ってきました。

キモヲタには用のない感じでしたが万華鏡売ってるお店があってすごく面白かった。

本日のコメント(全2件) [コメントを投稿]

§ Suika [ボッタクリですよ。 食べ物持ち込むのならば「食物アレルギー」で押し通すしかありません(w ペットボトルは紙容器に移し..]

§ Suika [よし、行くときは賞味期限きれた食べ物をもっていってそこで処分してもらう事にしよう!(ぉ]


2008年03月26日(Wednesday)

_ [コンピュータ] たくさんウインドウを開くとそれ以上開けなくなる

(Windowsの話です)

だらしない性格からなのか、効率を求めるためか、いつもウインドウをたくさん開いてしまいます。

僕は人生の合理化のため、

・整理しない

・整頓しない

・清掃しない

・清潔にしない

・しょうがない (通称5S)

をモットーに生きてます。

その方が効率いいし。


話は戻りますが、タスクバーを標準の位置においているとすぐ表示しきれなくなるので、僕は右側に移動して使ってます。

ところがこれでタスクバーはほぼ問題ないのですが、ウインドウを40~60個くらい開いたところでそれ以上開かなってしまいます。

そのくらい大丈夫だろと思うののですが、どうやら上限がある模様。

Windowsの仕組み上、普通のウインドウ以外にもエディットボックスやボタンその他部品(=コントロール)なども全てウインドウ扱いになるので、40個ウインドウを開いているつもりの状態でもコントロールの数自体は膨大になるのかもしれないです。(アプリケーションによって異なります)

なので、実際ウインドウをたくさん開いているとウインドウの一部分が表示されなかったりとかも起こります。


原因は恐らくデスクトップ・アプリケーション・ヒープの不足。

滅多に再起動しないのでメモリリークしてるヤツがいるのかもしれないと思いましたが、試しに再起動して直後に普段使う環境と同じようにウインドウ開いていくとやっぱり問題がおきるので、根本的にリソースが足りないようです。

Windows2K/XPのデフォルトのデスクトップ・アプリケーション・ヒープサイズは3MByte。

大きいサイズに変更してしまうことにします。

変更方法は以下にあるとおりです。

http://support.microsoft.com/kb/126962/ja

レジストリの以下の値を変更する。

キー:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems

値: Windows

SharedSection=xxxx,yyyy(又はSharedSection=xxxx,yyyy,zzzz)の、yyyyの部分を変更して再起動する。


これをやるとパフォーマンスに影響を与えるらしいですが。しかもけっこう重大に。

(インストールするだけでパソコンを高速にするぜ!! みたいな市販されている怪しいソフトの類はこういうリソースのサイズを小さく設定しなおしたりするらしい)


とりあえず僕は5120(KByte)に設定してみました。

WindowsXPが開発された頃に比べればハードウエアは格段によくなっているのでそのくらい大丈夫だろうという判断。

少しつかった感じでは特にパフォーマンスへの影響も感じないしウインドウをたくさんひらいても大丈夫になりました。

ちなみに設定した環境は以下のとおり。

CPU Intel Core2Quad Q6600

M/B GIGABYTE GA-G33M-DS2R

VGA GIGABYTE GV-RX26P512H

RAM 4096MByte (32bit環境)

WindowsXP SP2 (x86)


#こまめにウインドウを閉じる躾を自分にしたほうがいいのかもしれませんが。。

本日のコメント(全2件) [コメントを投稿]

§ K@i [昔(98~2000)はメモリ残量で窓が開けなくなるってのがあったけど、今でもあるのか?MSさんの仕様なんだろうけどw..]

§ Suika [K@iさん>> 上限をわざと設けてパフォーマンスがどんどん下がってしまうのを防いでいるみたいです。]


2009年03月26日(Thursday)

_ [日記] 携帯電話を「携帯(ケータイ)」と略すことにやっと少しだけ慣れてきた

最近、携帯電話のキャリア会社ですら「ケータイ」という言葉を使っていますね。

僕はどうしても「携帯」と聞いても携帯電話を連想できず、PDAとか、もしくは鞄とかそういうものを連想してしまいます。

むしろ僕が「携帯」で連想する電話はワイドスターとかです・・・。

ウィキペィアをウィキと略したり、ケーブルテレビをケーブルと略すとかに通じるものがある気がしますが・・・それぞれ独立した単語だっただけに略したら違う意味じゃん、みたいな。


さすがに「携帯」については慣れてきましたが、自分からはなかなか「携帯」という単語が出てこず単に「電話」って言ってしまうんですよね。

恐るべし自分の社会適用力の無さ。


2010年03月26日(Friday)

_ [日記][コンピュータ] Shift_JISをUTF-8に変換するコード(Windows)

Windows(Shift_JIS/マルチバイト環境)で文字コードをUTF-8に変換する方法です。

マルチバイトとUTF-8の変換APIは用意されていないのできっと面倒な事になるんだろうな・・・と予想していたのですが、一旦ワイド文字に変換すれば良いだけでしたね。


今iPhoneアプリを開発中なのですが、Windows環境とも通信するためUTF-8でやることにしましたが、Shift_JISのダメ文字(「表」とか)を気にしなくていいのでUTF-8楽です。

     1 : 	
     2 : 	//UTF8に変換する
     3 : 	void shiftJisToUTF8( char* converted 
     4 : 		,size_t converted_length
     5 : 		,const char* ascii )
     6 : 	{
     7 : 	
     8 : 		size_t sizeBuffer = strlen(ascii) *6;
     9 : 	    LPWSTR  pwszBuf = new wchar_t[sizeBuffer];
    10 : 	
    11 : 	    MultiByteToWideChar(
    12 : 	        CP_ACP,    
    13 : 	        0,   
    14 : 	        ascii,    
    15 : 	        -1,   
    16 : 	        pwszBuf,  
    17 : 	        (int)sizeBuffer); 
    18 : 	
    19 : 	
    20 : 	    WideCharToMultiByte(
    21 : 	        CP_UTF8,
    22 : 	        0,
    23 : 	        pwszBuf,
    24 : 	        -1,
    25 : 	        converted,
    26 : 			(int)converted_length,
    27 : 	        NULL,
    28 : 	        NULL);
    29 : 	
    30 : 		delete[] pwszBuf;
    31 : 	    return;
    32 : 	}
    33 : 	
    34 : 	//ShiftJisに変換する
    35 : 	void UTF8ToShiftJIS( char* converted 
    36 : 		,size_t converted_length
    37 : 		,const char* ascii )
    38 : 	{
    39 : 	
    40 : 		size_t sizeBuffer = strlen(ascii) *6;
    41 : 	    LPWSTR  pwszBuf = new wchar_t[sizeBuffer];
    42 : 	
    43 : 	    MultiByteToWideChar(
    44 : 	        CP_UTF8,    
    45 : 	        0,   
    46 : 	        ascii,    
    47 : 	        -1,   
    48 : 	        pwszBuf,  
    49 : 	        (int)sizeBuffer); 
    50 : 	
    51 : 	
    52 : 	    WideCharToMultiByte(
    53 : 	        CP_ACP,
    54 : 	        0,
    55 : 	        pwszBuf,
    56 : 	        -1,
    57 : 	        converted,
    58 : 			(int)converted_length,
    59 : 	        NULL,
    60 : 	        NULL);
    61 : 	
    62 : 		delete[] pwszBuf;
    63 : 	    
    64 : 	    return;
    65 : 	}

最近のコメント

364,000 at 2008.06.14
Copyright (c) Suika KNOnline.NET