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

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

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

全過去ログを検索

<< 0 >>
■10904  Re[8]: C#とC++のDirectXについて
□投稿者/ オノデラ -(2007/11/30(Fri) 13:02:43)
     少しまとめてみました。

    [C++ (Unmanage)]
    ・DirectX 関連では一番情報量が多い
    ・DirectX の最新版を使っていきたい場合には C++ は必須。(現在最新バージョンは DirectX 10, DirectX 10.1 あたり)
    ・DirectX がらみの問題を解決するには C++ の知識は必要。

    [C#, VB.NET, C++/CLI など (Managed DirectX)]
    ・2006/04 から更新はストップ
    ・対応しているバージョンは DirectX 9。DirectX 9 であれば、C++ の DirectX 9 とさほど違いなく使用可能
    ・DirectX 10 は使えません。
    ・C# で Windows Form と連携できるのは Managed DirectX のみ(正式サポートとして)

    [C# (XNA)]
    ・現在積極的に更新中
    ・Windows と Xbox360 でほぼ同じコードで実行可能
    ・DirectX のバージョンは 9
    ・Xbox360 や Windows XP との絡みがあるので DirectX 10 が使えるようになることはないと思う。(まあ、今後の発展しだいだと思いますが)
    ・ピクセルシェーダ 1.1 以上対応のグラフィックボード必須。実行要件が若干高い


     まず、C# で Windows Form にかかわるアプリを作りたい場合は Managed DirectX になるかともいます。XNA でも出きないことはないですが、正式サポートじゃないのでやんないほうがいいです(そもそもゲーム向けのライブラリなのでツール系としては汎用性が低いです)。

     ゲームを作る場合は XNA, Managed DirectX どちらでもいいと思います。ただ、この二つは同じ DirectX 9 を使っていても用途が異なる部分があるので、上のリストを見比べて選択してください。

     でも DirectX を使うならやはり C++ は覚えて使えるようになったほうがいいと思います。情報量も多いですし、C++ が読めないと解決できない問題とかが出てくることもあります。入門書も結構出ているので、C++ と C# 両方勉強しながらプログラムを作っていくというのもありかと思います。


    > y4yama さん
    > h t t p ://sorceryforce.com/manageddirectx/direct3d.html
    > が、オススメかと思います。

     更新していなくて申し訳ないです。(^^;)

    # 時間なくてあんまりかけなかった…orz
記事No.10894 のレス /過去ログ24より / 関連記事表示
削除チェック/

■34907  Re[1]: FTPでファイル転送を効率化する方法
□投稿者/ オショウ -(2009/04/14(Tue) 01:18:52)
    > 現在、FTPでファイル(テキスト、画像を100個ずつ)をサーバに転送しています。
    > ファイルは1つずつ転送し、サーバからレスポンスが返ってきたら
    > 次のファイルを転送する、といった処理を行っています。
    > ファイル転送(FTP)の速度を上げるにはいかようにすればよろしいでしょうか?

      送信側は受信側レスポンスに依存されますので、高速化したい場合
      受信側(サーバー?)のCPU負荷に対し余裕があるのかどうか。

      仮に可能だったとして・・・

      私もやったことあります。
      転送するクライアント側をクラス化して、それを複数スレッド起動
      し、各々のスレッドから最大100ファイルを送信させる・・・

      1スレッドで、1ファイル平均15KBのバイナリファイルを540ファイル
      送信させる場合と、6スレッドで90ファイルづつ送信させる場合とで
      時間計測した結果・・・

      1スレッドでは、540ファイル送信させるのに1分強かかりました。
      が、6スレッドでは、なんと約9秒で終了〜
      FTPでのコマンド送受信に対する時間的コストが大きいかと思わ
      れます。

      また、FTPサーバーのパッシブモード・アクティブモード設定に
      も影響されます。

      尚、サーバー側CPU負荷は
      1スレッド時ほぼ変化せず。
      6スレッド時約15%平均まで増大
      Windows2000 Server メモリ2GB・SCSIタイプHDD
      CPUは、Pentium3 Xeon 1.8 GHzだったように・・・
      当然、FTPサーバーは、IISを使用(デフォルトで使用)

      ギガビットネットワーク行いましたが、パケット長や混み具合によっ
      て変化します。1スレッド中、何ファイル送るかはテストが必要かと。

      ビッグパケット使えるなら(ギガハブ仕様・ネットワークカード仕様依存)
      CPU負荷は下がるかもしれません。(転送時間は最高6秒まで短縮)

    ※ 540ファイルを転送するクライアントマシンを最大5台で同時に実施
      CPう負荷は最悪でも50%超えず。ただ転送時間は、約15秒程度/1台

    以上。参考まで
記事No.34904 のレス /過去ログ61より / 関連記事表示
削除チェック/

■92468  Re[1]: BinaryReader/Writerでのコピーが遅い
□投稿者/ Hongliang -(2019/09/28(Sat) 11:58:21)
    バイナリブロックをコピーするだけであれば、BinaryReader/BinaryWriterの出番はありません。
    Streamを直接ReadしてWriteすればいいです。
    典型的には以下のようなコードになります。
    
    using (Stream src = File.Open(srcPath), dst = File.Open(dstPath))
    {
        byte[] buffer = new byte[バッファサイズ];
        int read;
        while ((read = src.Read(buffer, 0, buffer.Length)) > 0)
        {
            dst.Write(buffer, 0, read);
        }
    }
記事No.92467 のレス /過去ログ159より / 関連記事表示
削除チェック/

■94242  Re[22]: カラーコード(文字列)から色に変換したい
□投稿者/ あい -(2020/03/26(Thu) 13:19:55)
    解決し忘れです。
記事No.94172 のレス / END /過去ログ163より / 関連記事表示
削除チェック/

■95727  Re[4]: 画面のハードコピー
□投稿者/ スポット参戦 -(2020/09/09(Wed) 17:19:27)
    画面がスクリーンからはみ出ている時に、はみ出た部分のキャプチャができない問題は残っていますが、
    画面の上下左右に余分な枠が入ってしまう問題は、自己解決したので報告です。

    //定義
    [StructLayout(LayoutKind.Sequential)]
    private struct Rect
    {
    public int left;
    public int top;
    public int right;
    public int bottom;
    }

    private const int DWMWA_EXTENDED_FRAME_BOUNDS = 9;

    [DllImport("dwmapi.dll")]
    extern static int DwmGetWindowAttribute(IntPtr hWnd, int dwAttribute, out Rect rect, int cbAttribute);

    //ウィンドウ・ハンドルを取得する
    IntPtr hWnd = this.Handle;
    //外見上のウィンドウサイズを取得する
    Rect bounds;
    DwmGetWindowAttribute(hWnd, DWMWA_EXTENDED_FRAME_BOUNDS, out bounds, Marshal.SizeOf(typeof(Rect)));
    //Bitmapの作成
    Bitmap bmp = new Bitmap(bounds.right - bounds.left, bounds.bottom - bounds.top);
    //Graphicsの作成
    Graphics g = Graphics.FromImage(bmp);
    //画面をコピーする
    g.CopyFromScreen(bounds.left, bounds.top, 0, 0, bmp.Size);
    //解放
    g.Dispose();
    //表示
    PictureBox1.Image = bmp;
記事No.95720 のレス /過去ログ166より / 関連記事表示
削除チェック/

■96395  Re[2]: 初回認証時の判断
□投稿者/ naomin -(2020/11/19(Thu) 17:53:10)
    No96394 (WebSurfer さん) に返信

    > 意味が分かりません。もう少し詳しく書いてください。
    >
    > ユーザーがアクセスするたびにログを取りたいわけではなく、ある条件あるタイミングで
    > ログを取るのですよね。その条件、タイミングが何か詳しく書いてください。


    要はログインした回数を後で集計したい、というのが目的です。

    その「ログインした回数」の定義は、
    @ログインページ(/Account/Login)でID、パスワードを入力してログインすると1回ログインとしてカウント。
    A前回ログイン時にRememberMeにチェックしていた場合、新規にブラウザを起動してサイトにアクセスしたら1回ログインとしてカウント。
    となります。

    認証処理でIsAuthenticatedがtrueになった回数と言った方が分かりやすいでしょうか。

    @Aのいずれもログイン後のリダイレクトやページ遷移はカウント外ですので、
    Aはできればサイト共通で初回アクセス時の1回のみ実行されるメソッド内に実装したく、
    認証で通るStartup.Auth.csやStartup.csでの実装を試みていたのですが。。

    完璧なカウントは求められてはいないのですが、出来る限り精度を上げたく思っています。
    最終手段的にはSessionやCookieにログインのログ登録したかどうかのフラグを格納しておき
    全ページの表示時にフラグが立ってなかったらログインログを登録、というような乱暴な形もやむを得ないかな、
    と考えてます。

    伝わりますでしょうか。
記事No.96393 のレス /過去ログ167より / 関連記事表示
削除チェック/

■96396  Re[3]: 初回認証時の判断
□投稿者/ WebSurfer -(2020/11/19(Thu) 18:45:26)
    No96395 (naomin さん) に返信

    > @ログインページ(/Account/Login)でID、パスワードを入力してログインすると1回ログインとしてカウント。
    > A前回ログイン時にRememberMeにチェックしていた場合、新規にブラウザを起動してサイトにアクセスしたら1回ログインとしてカウント。

    「RememberMeにチェック」の有無で何が違うか分かってますか? ログインに成功したときに応答ヘッダに
    含まれて送信されてくる認証クッキーに expires=...; があるか否かの違いです。

    以下の記事は旧来の Forms 認証の場合ですが、永続化と RemenberMe は同じですので、読んでください。
    上記 @ A は変だと思えるのではないでしょうか?

    Froms 認証クッキーの永続化
    http://surferonwww.info/BlogEngine/post/2011/12/03/Persistent-or-non-persistent-Forms-authentication-cookie.aspx
記事No.96393 のレス /過去ログ167より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -