C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■8732  [C++]GetGlyphOutLineの使用法
□投稿者/ 山田太郎 -(2007/10/09(Tue) 11:45:21)

    分類:[C/C++] 

    2007/10/09(Tue) 12:03:42 編集(投稿者)

    お世話になってます。

    C++MFC環境で、文字の縁取りを行いたいと思います。

    GetGlyphOutLine関数で文字のアウトラインを取得して、
    文字を描画すればいいと聞いたのですが、
    GetGlyphOutLineに渡す引数に何を渡してよいのか、
    返って来るパスで線をどのように描画すればよいのか分かりません。

    よろしくお願いします。


親記事 /過去ログ20より / 関連記事表示
削除チェック/

■24211  Re[7]: 参考書について
□投稿者/ 中 博俊 -(2008/08/29(Fri) 12:06:52)
    とりあえず10冊くらい読んでください。
    いっぱい読むことだけが大事です。
記事No.24192 のレス /過去ログ45より / 関連記事表示
削除チェック/

■55033  Re[2]: main関数でのタイマーの使い方
□投稿者/ 774RR -(2010/11/15(Mon) 12:35:29)
    っていうかタイマーで一定時間を待ったところで oracle が使える状態であるかどうかとは無関係なのであって、
    oracle が使用可能になるまで待つのが態度として正しいんぢゃないのかな?
記事No.55031 のレス /過去ログ92より / 関連記事表示
削除チェック/

■65076  変換後のGetPrivateProfileString
□投稿者/ MassyPie -(2013/02/01(Fri) 14:52:01)

    分類:[.NET 全般] 

    度々、失礼致します。
    今回もよろしくお願い致します。

    2010のデバッガが使うことができ、そこで不思議な現象を見つけました。
    VB6でも確認しましたがそのようにはならないので、.net 2010でもVB6と同じ動作を行うような方法 or 設定を教えて下さい。


    iniDataGetという関数を作成しました。
    iniDataGetでフルパスのファイル名を渡しています。(g_strIniFileName)
    このファイル名は変わることがないので、処理の一番初めで以下のように設定をしています。


    1回目のiniDataGetを呼ぶ時に、g_strIniFileNameをウオッチで確認すると、正常なファイル名が入っています。
    しかし、iniDataGetに入り、GetPrivateProfileString 実行後に、値が変わります。

    前:C:\..(長いので省略)..\aaaaaaaa.ini
    後:C:\..(長いので省略)..\aaaaaaaa

    サフィックスが消えてしまいます。


    そして、心当たりがあるのが Public Declare Function GetPrivateProfileString の部分です。
    VB6は、As Anyだったのですが、2010ではエラーとなったため、As Stringに変更しました。

    いろいろ調べてみましたが、私の力だけではどうにも解決できそうもありません。

    どうぞ、みなさま方のお力をお貸しくださいませ。

    よろしくお願い致します。



    <呼び元>
    g_strIniFileName = My.Application.Info.DirectoryPath & "\" & My.Application.Info.AssemblyName & ".ini" 'フルパスでのファイル名設定

    strWork = iniDataGet(g_strIniFileName, "LOG", "LOGKEEPDAY") '1回目



    strWork = iniDataGet(g_strIniFileName, "DOC", "MAN") '2回目



    <呼び先>
    Public Function iniDataGet(ByRef FileName As String, ByRef Section As String, ByRef key As String) As String

    Dim characters As Integer
    Dim KeyValue As New VB6.FixedLengthString(128)
    Dim strX As String
    Dim retString As String

    On Error Resume Next

    characters = GetPrivateProfileString(Section, key, "", KeyValue.Value, 127, FileName) '<−−ここで実行後、変わる
    If characters > 0 Then

    .
    .
    .
    .
    End Function



    <定義>
    Public g_strIniFileName As String


    Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
    ByVal lpKeyName As String, _
    ByVal lpDefault As String, _
    ByVal lpReturnedString As String, _
    ByVal nSize As Integer, _
    ByVal lpFileName As String) As Integer
親記事 /過去ログ110より / 関連記事表示
削除チェック/

■76786  One ASP.NET , SignalR の将来は
□投稿者/ 開発管理者 -(2015/08/17(Mon) 16:52:01)

    分類:[.NET 全般] 

    数年前、ASP.NET SignalR構想に魅力を感じ、弊社でも、前向きに取り入れようとしました。
    Web Pages, Web Forms, Single Pages など詳細を理解しないまま、取り組みました。
    しかし、IIS8の機能で WebSocket プロトコルをインストールすれば、容易くHTML5.WebSockt通信が可能だと知りました。
    SILVER LIGHTが開発中止になったと聞きました。
    その一方で、SignalR,Web Pages等の技術資料は殆どありません。中途半端に打ち切られた印象を受け、不安で一杯です。
    今後、SignalR,Web Pages等は、どうなるのでしょうか。このまま開発を続けて日の目を見ないかと心配です。
    予測見通しで、結構ですので、方向性が知りたいです。
親記事 /過去ログ130より / 関連記事表示
削除チェック/

■84354  Re[3]: ブラウザでHTTPリクエストを受信する
□投稿者/ 魔界の仮面弁士 -(2017/06/20(Tue) 10:22:16)
    No84353 (Sasaki さん) に返信
    > 例えば既存のWebシステムで、システムログをHTTP送信する機能がすでにあるとしたら、

    その HTTP 送信というのは、システムログをアップロードする処理、すなわち
    既存の Webシステムが、HTTP Request を発行する側(Web Client)であるということでしょうか。

    それとも、利用する側からの HTTP 要求に応じて、ダウンロード可能とする処理
    (Web Server/Web Service)ということでしょうか。


    『既存の Web システム』の機能が後者であるのなら、それは一般的な Web Server なので、
    クライアント側は普通のブラウザーから ajax 等を通じて処理できると思います。

    『既存の Web システム』の機能が前者であるのなら、利用する側に
    アップロードされる要求を受け取るための Web Server 機能が要求されますが、
    それを通常、インターネットブラウザーが担う役割ではありません。


    > システムログを受信するクライアントサイドは、特別なアプリケーションをインストールせずに、
    > システムログを確認できるようにしたいなと考えています。

    個人的には、軽量級の Web Server 機能を導入した方が手っ取り早い気がします。

    ブラウザーの動作は、基本的に「HTTP リクエストの送信、およびその応答の解釈」であり、
    Web サーバー側は、「HTTP リクエストの受信、および処理結果の返送」が目的でしょう。

    そもそも扱うものが違う以上、仮に実現可能であったとしても、何某かの設定は必要になると思います。
    たとえばファイアウォールの追加設定、netsh http add urlacl コマンドとか…。
記事No.84351 のレス /過去ログ144より / 関連記事表示
削除チェック/

■91216  Re[2]: freeml 終了
□投稿者/ 774RR -(2019/06/06(Thu) 12:35:14)
    はい、何かあればここ wankuma でインストーラ話させていただきます!
    msdn forum もヲッチしてますが書き込みしたい!までは至らない感じ。
    プチ炎上+モデレータ編集が多すぎっす。
記事No.91179 のレス / END /過去ログ157より / 関連記事表示
削除チェック/

■97921  同じコードで実行時間が異なる理由
□投稿者/ 山善 -(2021/08/09(Mon) 12:50:44)

    分類:[.NET 全般] 


    以下のコードを実行すると
    138 ms
    53 ms
    326 ms

    二つ目は一つ目と同じ配列を使っているのに3倍近く計算時間が速くなってしまいます。

    三つめは、単に違う配列を使っただけで全く同じコードなのに一つ目よりも3倍近く遅くなってしまいます。

    デバッグモードではなく、リリースモードを使っていますし、
    何度か試してみたのですが
    何度やっても同じような結果になってしまいます。

    これってなぜなのでしょうか?


    Dim sw As New Stopwatch

    Dim Hai(100000000) As Integer


    sw.Restart()

    For i = 1 To 100000000

    Hai(i) = 1

    Next
    '138 ms
    MsgBox(sw.ElapsedMilliseconds)



    sw.Restart()

    For i = 1 To 100000000

    Hai(i) = 2

    Next
    '53 ms
    MsgBox(sw.ElapsedMilliseconds)



    Dim Hai2(100000000) As Integer

    sw.Restart()

    For i = 1 To 100000000

    Hai2(i) = 1

    Next
    '326 ms
    MsgBox(sw.ElapsedMilliseconds)

親記事 /過去ログ170より / 関連記事表示
削除チェック/

■97923  Re[1]: 同じコードで実行時間が異なる理由
□投稿者/ 古谷 -(2021/08/09(Mon) 21:12:17)
    CPUのキャッシュとか、GCとか、JITコンパイルとかじゃないかな、知らないけど
記事No.97921 のレス /過去ログ170より / 関連記事表示
削除チェック/

■97924  Re[2]: 同じコードで実行時間が異なる理由
□投稿者/ しま -(2021/08/09(Mon) 22:32:48)
    No97921 (山善 さん) に返信
    > 
    
    仮想記憶だから Dim Hai(100000000) as Integer なんていう巨大な領域が一度に確保できるわけではないからではないかな?
    
    この配列を宣言したところで、領域全体が実記憶として割当たるわけでいはない。
    
    For i = 1 to 100000000
        Hai(i)=1
    Next
    
    このループの中で、実記憶として初めてアクセスする(ブロックとして)度に実記憶が割当たるのです。
    
    そして、2度目のループ
    
    For i = 1 to 100000000
        Hai(i) = 2
    Next
    
    では、実記憶の確保(=割当)は起きない(ページイン、ページアウトは起きるだろうけれども)ので、その分時間が掛からない。
    
    で説明できると思う。
    
    又、三度目のループの実行時間については、最初のループより実行時間が掛かる点については実行環境が関わってるので
    プロセッサーのキャッシュの大きさや、主記憶の大きさ、32bit OS なのか 64bit OS なのかなどが関係すると思われるので
    これだとはっきりとは言えませんね。ほぼ 40MB の配列の大きさなので、プロセッサーのキャッシュに納まりきれそうにないので
    プロセッサーのキャッシュと主記憶との入れ替えは起こっていそうだとは想像できますが...
記事No.97921 のレス /過去ログ170より / 関連記事表示
削除チェック/

■97925  Re[3]: 同じコードで実行時間が異なる理由
□投稿者/ 山善 -(2021/08/09(Mon) 22:49:16)
    しまさん

    ありがとうございます。

    2つ目のループに関しては納得しました。
    このような仕組みになっていたのですね。



    3つ目のループに関してですが
    x86モードでビルドした場合には、違いが見られたのですが
    x64モードにすると違いは見られなくなりました。


    しかし、配列のサイズはたったの40MBなので、
    32bitの壁である2GBよりかは十分に小さいので関係ないと思います。

    主記憶は32GBを使っており、
    CPUには
    https://ark.intel.com/content/www/jp/ja/ark/products/94456/intel-core-i7-6950x-processor-extreme-edition-25m-cache-up-to-3-50-ghz.html

    これを使っています。

    キャッシュ25MBと書かれてあるので、
    40MBに近いですが、わずかに小さいので、
    一つ目の配列を宣言した時点でキャッシュは足りなくなって
    主記憶を使うため、
    二つ目の配列と速度に差異は出なくなると思います。

    一体、何が原因でしょうか?

記事No.97921 のレス /過去ログ170より / 関連記事表示
削除チェック/

■97926  Re[4]: 同じコードで実行時間が異なる理由
□投稿者/ しま -(2021/08/10(Tue) 01:10:22)
    No97925 (山善 さん) に返信
    > しまさん
    >
    > ありがとうございます。
    >
    > 2つ目のループに関しては納得しました。
    > このような仕組みになっていたのですね。
    >
    >
    >
    > 3つ目のループに関してですが
    > x86モードでビルドした場合には、違いが見られたのですが
    > x64モードにすると違いは見られなくなりました。
    >
    >
    > しかし、配列のサイズはたったの40MBなので、
    > 32bitの壁である2GBよりかは十分に小さいので関係ないと思います。
    >
    > 主記憶は32GBを使っており、
    > CPUには
    > https://ark.intel.com/content/www/jp/ja/ark/products/94456/intel-core-i7-6950x-processor-extreme-edition-25m-cache-up-to-3-50-ghz.html
    >
    > これを使っています。
    >
    > キャッシュ25MBと書かれてあるので、
    > 40MBに近いですが、わずかに小さいので、
    > 一つ目の配列を宣言した時点でキャッシュは足りなくなって
    > 主記憶を使うため、
    > 二つ目の配列と速度に差異は出なくなると思います。
    >
    > 一体、何が原因でしょうか?
    >

    少し調べてみました(キャッシュはあなたが考えいるように単純ではありません)。
    あまり古くないプロセッサー内部のキャッシュは3階層になっていて、 i7-6950 では次のようになっている様です

    L3: 25 MB
    L2: 256KB
    L1: 32KB

    しかも、キャッシュメモリーの内すべてがデーター領域に割当たっているわけではないので、 25MB のキャッシュ中にどれだけ
    Hai() や Hai2() やが居るかはある瞬間、瞬間で変わってしまうでしょう。

    常に、特定のアプリケーションだけが、キャッシュ中に存在するわけではないことを忘れてはいけないと思います。
    OS や サービスやアプリケーションなどがキャッシュに同居しているのですから。
記事No.97921 のレス /過去ログ170より / 関連記事表示
削除チェック/

■97944  Re[5]: 同じコードで実行時間が異なる理由
□投稿者/ 山善 -(2021/08/10(Tue) 21:02:23)
    No97926 (しま さん) に返信

    そうなのですね。
    どうもありがとうございます。
記事No.97921 のレス / END /過去ログ170より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -