ホームページ >コンピューターのチュートリアル >コンピュータ知識 >Yi Language のカウント ループにより過剰な CPU 使用率が発生する

Yi Language のカウント ループにより過剰な CPU 使用率が発生する

WBOY
WBOY転載
2024-01-23 09:15:061491ブラウズ

Yi Language のカウント ループにより過剰な CPU 使用率が発生する

Yi 言語のカウント サイクルの CPU 使用率が高すぎます

このように読むと、1 秒間に数百台のハードディスク、1 分間に 10,000 台以上のハードディスクを読み取ることができます。 ! !

次の配列メソッドを試してみると、より良い方法になるはずです。

.バージョン 2

.サポート ライブラリ EdirectX

.アセンブリ ウィンドウ アセンブリ 1

.アセンブリ変数画面、画面

.アセンブリ変数ページ、ページ、、"0"

.アセンブリ変数横軸、整数型、「0」

.アセンブリ変数座標、整数型、「0」

.アセンブリ変数の背景、ページ

.アセンブリ変数レコード番号、整数型

.サブルーチン __start window_created

.ローカル変数n、整数型

Screen.Create フルスクリーン モード (ウィンドウ ハンドル ()、800、600、32、false を取得)

Background = screen.背景ページを取得 ()

開く (実行ディレクトリ () "\data\map1.edb", , , , , , )

レコード数 = レコード数を取得 ()

配列を再定義(ページ、false、レコード数)

配列を再定義(横軸、false、レコード数)

配列を再定義(縦座標、false、レコード数)

最初のレコードに移動 ()

.カウントサイクルヘッド(レコード数、n)

Page [n]. ビットマップ ページを作成します (画面、実行ディレクトリを取得します () read ("name")、)

Abscissa [n] = Read ("abscissa") ' 論理的に、データベース内の型が一致する場合、再度変換する必要はありません

座標[n] = read("座標")

###飛び越える ()###

.カウントループ終了 ()

閉鎖()

クロック 1。クロック周期 = 100

.サブルーチン _クロック 1_期間イベント

.ローカル変数n、整数型

Clock 1. Clock period = 0' これら 2 つの文は削除できます

Background.Fill ページ (#white)

.カウントサイクルヘッド(レコード数、n)

ページ [n].ブロックコピー (背景、横軸 [n]、縦軸 [n]、)

.カウントループ終了 ()

Screen.SwapPage(false,false,false)

Clock 1. Clock period = 100' これら 2 つの文は削除できます

Yi 言語プログラムで CPU 使用率を削減する方法

Yi 言語コードを直接アップロードします。漢字のプログラミング言語コードは珍しいです。

1

2

3

4

5

6

###7###

8

9

10

11

12

13

14

15

16

17

18

19

20

###21### ###22###

.バージョン 2

.データ型: コンピューターの CPU 情報の取得、system_info

.メンバー dwoemid、整数型、、、識別子

.メンバー dwpagesize、整数型、、、ページング サイズ

.メンバー lpminimumapplicationaddress、整数型、、、最小アドレス空間

.メンバー lpmaximumapplicationaddress、整数型、、、最大アドレス空間

.メンバー dwactiveprocessormask、整数型、、、プロセッサ マスク

.メンバー dwnumberorfprocessors、整数型、、、プロセッサ数

.メンバー dwprocessortype、整数型、、、プロセッサ タイプ

.メンバーの dwallocation 粒度、整数型、、、仮想メモリ空​​間の粒度

.Member dwreserved、整数型、、、予約済み

.データ型memorystatusex

.メンバーの dwlength、整数型、、、、64

.メンバー dwmemoryload、整数型

.メンバー ultotalphys、長整数型

.メンバー ullavailphys、長整数型

.メンバー ullTotalPagefile、長整数型

.メンバー ullavailpagefile、長整数型

.メンバー ultotalvirtual、長整数型

.メンバー ullavailvirtual、長整数型

.メンバー ullavailextendedvirtual、長整数型

.バージョン2.サポートライブラリ仕様.アセンブリウィンドウassembly_start window.Subroutine__start window_createdデバッグ出力(メモリ情報取得()).サブルーチンはメモリ情報取得、テキスト型.ローカル変数ポインタ、memorystatusex pointer.dwlength = 64globalmemorystatusex (ポインタ) return (「合計物理メモリ:」をテキストに変換 (四捨五入 (pointer.ulltotalphys ÷ 1048576, )) "mb" #newline 「使用可能な物理メモリ:」をテキストに (四捨五入 (pointer.ullavailphys ÷ 1048576, )) "mb" #改行"仮想メモリ:" をテキストに変換 (四捨五入 (pointer.ulltotalvirtual ÷ 1048576, )) "mb" #改行 "利用可能な仮想メモリ:" をテキストに (四捨五入 (pointer.ullavailvirtual ÷ 1048576, )) "mb" #改行 "合計ページ ファイル:" をテキストに (四捨五入 (pointer.ullavailpagefile ÷ 1048576, )) "mb" #改行 "利用可能なページ ファイル:" をテキストに (四捨五入 (Pointer.ullavailpagefile ÷ 1048576, )) "mb" #改行 "コンピューターのメモリ使用量:" をテキスト (pointer.dwmemoryload) "%")

以上がYi Language のカウント ループにより過剰な CPU 使用率が発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。