?
注: この歴史的な Web ゲームの技術的アーキテクチャには問題があり、当時は常にオンラインであると言われており、修正時間も非常に限られていました。以下は私が実現できたかなり限られた技術です。最適化と改善のためのコメントがいくつかありました。
しかし結局のところ、この Web ゲームは常に運営側からすぐにリリースされる必要があり、その後は限られた小規模な修正しか行えません。時間は非常に限られており、問題を完全に解決することはできません。その結果、この Web ゲームはオンライン化されません...? テクノロジーを理解せず、マーケティングの観点から一方的な管理のみを要求するマネージャーの結果です。 ... ?2012-02-17 wooce ?9:54:03? lib/itemconfig.php? と ??lib/missionconfig.php? のサイズはどちらも少なくとも 1.5M 近くあります。それらに記録されているのは実際にはデータです...? この方法でそれらを参照するプログラムは、実行するたびにロードするのに時間がかかる可能性があります... php -黄* 9:59:26? そうですね、各接続は何 M のメモリを消費しますか? うーす?10:01:34? 私の考えは、これを最適化します:? lib/itemconfig を配置します。php と lib/missionconfig.php は保存用に csv 形式に変換され、その後 php が実行されるたびに、データが必要な場合は、そこからダウンロードします。 memcache wooce?10:05:11? からそれを読み取るだけで、これを最適化するには、まず lib/itemconfig.php と lib/missionconfig.php を csv 形式に変換します。csv への変更を手動で編集する場合lib/itemconfig.php と lib/missionconfig.php を参照する簡単な PHP プログラムを作成し、そのプログラムをループして CSV に自動的に書き込みます。 ??CSV を取得したら、プログラムを起動して CSV を memcache に読み込みます。 Yao* に次の 2 つのステップを実行してもらいたいのですが、問題はありますか? php-黄* 10:05:37? データベースにあります wooce?10:08:00? はい? ?どのテーブルですか? php-黄* 10:08:20? game_item_info php-黄* 10:08:28? game_mission_info php-黄* 10:08:47? これらの設定はすべてデータベースで生成されます wooce?10:39:53? つまり、game_item_info テーブルは GMTool を通じて維持されるということですか? ?itemconfig.phpはGMtoolのメンテナンス時にも生成されます? php-黄* 10:54:15? itemconfig.php も www/csv/import_csv.php wooce?10:55:25? を通じて生成されます。わかりますか? 実は、最初に csv があります。その後、csv import php-黄* 10:55:49? www/csv/import_csv.php import csv ファイルを通じてデータベースと itemconfig.php が生成されます。 wooce?10:57:21? えっと、見つけました。csv ディレクトリに game_item_info.csv があります。 wooce?11:13:35? それでは? csv を memcache に読み込み、memcache からアイテムとミッションの構成を読み取るコードを追加します。 wooce?11:28:15? この最適化は機能しますか?ヤオ * または黄 * がすべきでしょうか? PHP-Liang Yao* 11:59:18? wooce 11:13:35? その後、既成の CSV を memcache に読み込んでから、読み取り値を追加するだけです。 memcache アイテムとミッションのコンフィグコードを取得するだけです。 通常、この 2 つのファイルのデータは変更されませんか? php-黄* 12:01:41? 変更される可能性があります? php-黄* 12:02:13? 計画は変更される場合があります wooce?13:41 :17? そうですね、必要に応じて memcache 内のデータをリロードできる必要があります php-黄* 13:43:39? 設定内の配列を Memcached に直接保存できます PHP-Liang Yao* 14:00:33? この部分の最適化をさせてください wooce 11:12:32?
ああ、$item はどのくらいの大きさですか?
php-黄* 11:14:51?
ケース '作成':{
の注釈には、アイテム の説明が含まれています
php-黄* 11:29:43?
現在 itemconfig に関連するファイルが多数あります
php-黄* 11:29:59?
新機能はまだ完成していません
うーす、11:30:49?
これは小規模な最適化であると考えられますが、それができない場合、既存のバージョンでは最適化の余地があまりありません。
php-黄* 11:31:27?
うーん
|
PHP で開発された Web ゲームの技術的な最適化に関するコメント
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

aphpDependencyInjectionContaineriSATOULTAINATINAGECLASSDEPTINCIES、強化測定性、テスト可能性、および維持可能性。

SELECT DEPENTENCINGINOFCENT(DI)大規模なアプリケーションの場合、ServicElocatorは小さなプロジェクトまたはプロトタイプに適しています。 1)DIは、コンストラクターインジェクションを通じてコードのテスト可能性とモジュール性を改善します。 2)ServiceLocatorは、センター登録を通じてサービスを取得します。これは便利ですが、コードカップリングの増加につながる可能性があります。

phpapplicationscanbeoptimizedforspeedandEfficiencyby:1)enabingopcacheinphp.ini、2)PreparedStatementswithpordatabasequeriesを使用して、3)LoopswithArray_filterandarray_mapfordataprocessing、4)の構成ngincasaSearverseproxy、5)

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事
<🎜>:庭を育てる - 完全な突然変異ガイド
3週間前ByDDD
<🎜>:バブルガムシミュレーターインフィニティ - ロイヤルキーの取得と使用方法
3週間前By尊渡假赌尊渡假赌尊渡假赌
Nordhold:Fusion System、説明
3週間前By尊渡假赌尊渡假赌尊渡假赌
マンドラゴラ:魔女の木のささやき - グラップリングフックのロックを解除する方法
3週間前By尊渡假赌尊渡假赌尊渡假赌

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

メモ帳++7.3.1
使いやすく無料のコードエディター

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
