菜*就不要打游戏好不好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
adolphlanglang
V2EX    随想

菜*就不要打游戏好不好?

  •  
  •   adolphlanglang 211 天前 3853 次点击
    这是一个创建于 211 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天打瓦被虐成狗了,我把原因归到了网络波动上(就是不承认菜,不过网络质量确实不好,根本就是不能玩的程度),然后写了下面这个脚本简单测试下网络质量,大家看谁网络质量比较好测试一下。

    下面是一组比较夸张的数据,但是游戏中也会出现。

    21:32:18 样本数量: 60 | 平均: 111.24ms | 抖动: 55.75ms | 抖动率: 50.12% 21:32:20 样本数量: 60 | 平均: 112.78ms | 抖动: 55.60ms | 抖动率: 49.30% 21:32:22 样本数量: 60 | 平均: 115.65ms | 抖动: 55.04ms | 抖动率: 47.59% 21:32:23 样本数量: 60 | 平均: 117.59ms | 抖动: 60.08ms | 抖动率: 51.09% 21:32:25 样本数量: 60 | 平均: 115.69ms | 抖动: 56.60ms | 抖动率: 48.93% 21:32:26 样本数量: 60 | 平均: 119.04ms | 抖动: 57.91ms | 抖动率: 48.65% 21:32:27 样本数量: 60 | 平均: 118.50ms | 抖动: 58.77ms | 抖动率: 49.60% 21:32:28 样本数量: 60 | 平均: 115.43ms | 抖动: 58.23ms | 抖动率: 50.44% 21:32:29 样本数量: 60 | 平均: 111.57ms | 抖动: 54.64ms | 抖动率: 48.97% 
    import configparser import subprocess import time import re from collections import deque import numpy as np import os CONFIG_FILE = 'config.ini' def create_default_config(path): cOnfig= configparser.ConfigParser() config['monitor'] = { 'host': 'baidu.com', 'window_size': '60', 'ping_interval': '1', 'trim_percent': '0.05' } config['output'] = { 'show_timestamp': 'true', 'log_to_file': 'false', 'log_file': 'jitter_log.txt' } with open(path, 'w') as configfile: config.write(configfile) print(f"[首次运行] 配置文件 '{path}' 已生成,使用默认配置。") def load_config(file): if not os.path.exists(file): create_default_config(file) cOnfig= configparser.ConfigParser() config.read(file) return { 'host': config.get('monitor', 'host'), 'window_size': config.getint('monitor', 'window_size'), 'ping_interval': config.getfloat('monitor', 'ping_interval'), 'trim_percent': config.getfloat('monitor', 'trim_percent'), 'show_timestamp': config.getboolean('output', 'show_timestamp'), 'log_to_file': config.getboolean('output', 'log_to_file'), 'log_file': config.get('output', 'log_file') } def ping_once(host): try: output = subprocess.check_output( ["ping", host, "-n", "1"], stderr=subprocess.STDOUT, universal_newlines=True ) match = re.search(r'(?:时间|time)[=<]?\s*(\d+)\s*ms', output, re.IGNORECASE) if match: return int(match.group(1)) except subprocess.CalledProcessError: pass return None def calculate_jitter_rate(delays, trim_percent=0.05): if len(delays) < 4: return None arr = np.array(delays) lower = np.percentile(arr, trim_percent * 100) upper = np.percentile(arr, (1 - trim_percent) * 100) trimmed = arr[(arr >= lower) & (arr <= upper)] if len(trimmed) < 2: return None avg_delay = np.mean(trimmed) diffs = np.abs(np.diff(trimmed)) avg_jitter = np.mean(diffs) jitter_rate = (avg_jitter / avg_delay) * 100 if avg_delay != 0 else 0 return avg_delay, avg_jitter, jitter_rate def live_ping_jitter(config): delays = deque(maxlen=config['window_size']) while True: delay = ping_once(config['host']) timestamp = time.strftime('%H:%M:%S') if config['show_timestamp'] else '' if delay is not None: delays.append(delay) result = calculate_jitter_rate(list(delays), config['trim_percent']) if result: avg_delay, avg_jitter, jitter_rate = result line = f"{timestamp} 样本数量: {len(delays):2d} | 平均: {avg_delay:.2f}ms | 抖动: {avg_jitter:.2f}ms | 抖动率: {jitter_rate:.2f}%" else: line = f"{timestamp} 收集中... 样本数量: {len(delays)}" else: line = f"{timestamp} 丢包" print(line) if config['log_to_file']: with open(config['log_file'], 'a', encoding='utf-8') as f: f.write(line + '\n') time.sleep(config['ping_interval']) if __name__ == "__main__": cOnfig= load_config('config.ini') live_ping_jitter(config) 
    20 条回复    2025-05-08 09:48:04 +08:00
    zhlxsh
        1
    zhlxsh  
       211 天前 via iPhone
    之前看到有些地区百度都ping 了
    sEz3br0Ozxa989XX
        2
    sEz3br0Ozxa989XX  
       211 天前 via iPhone
    菜*就不要打游戏好不好?
    EndlessMemory
        3
    EndlessMemory  
       211 天前
    什么运营商
    Yuanlaoer
        4
    Yuanlaoer  
       211 天前
    团队游戏跟路人就是毒性很大。当年顶着 200 左右的 PING 也可以打 WAR3 战网。
    Paradox4068
        5
    Paradox4068  
       210 天前
    我不敢玩团队游戏,就是怕有人压力我
    comexb
        6
    comexb  
       210 天前 via iPhone
    建议你把电脑 网络 外设 心态调整好再去打 这样就可以确定 你的确是菜了
    我 cs 玩了 2 千个小时 还是白银 一直冲锋枪 rush 游戏吗 娱乐就行了
    wolfie
        7
    wolfie  
       210 天前
    @Yuanlaoer
    记得当年 11 平台显示 玩家延迟,延迟高的直接踢,浩方忘记是否显示。
    xzaf
        8
    xzaf  
       210 天前   1
    作为手残菜 X ,已经发誓不玩团队游戏。最多自己默默人机。
    Yuanlaoer
        9
    Yuanlaoer  
       210 天前
    @wolfie 嗯,对战平台是有这个功能的。
    我指的是对战,不是 dota 。纯粹 ping 高不会影响对手,除非是 ping 高 + 不稳定/丢包,才会也影响对手体验。
    adolphlanglang
        10
    adolphlanglang  
    OP
       210 天前
    @Hayashikawa 哈哈,我是自嘲的,网络正常点还是挺好玩的
    adolphlanglang
        11
    adolphlanglang  
    OP
       210 天前
    @Yuanlaoer 只要稳定其实还好,游戏内偶尔出现几百上千的延时会很烦躁
    adolphlanglang
        12
    adolphlanglang  
    OP
       210 天前
    @comexb 十分确定就是菜 不过不耽误玩
    adolphlanglang
        13
    adolphlanglang  
    OP
       210 天前
    @zhlxsh 大概看一下随便找个主机就行,只是 ping 得时候会习惯的用百度
    Apllex
        14
    Apllex  
       210 天前
    瓦在出新的这几个 mix 服务器之前,我这边联通移动玩固定丢包 10% 左右…当时还以为是性能或者本地网络问题,测试之后发现我这边啥问题没有换了个网就好了
    Yuanlaoer
        15
    Yuanlaoer  
       209 天前
    @adolphlanglang 嗯,你这种情况,会烦躁太正常了。不过,偶尔跳 PING 不是正常现象啊,是服务器的问题还是你自己网络问题呀?
    momoguo
        16
    momoguo  
       208 天前 via Android
    手残党 大概永远都无法 pvp 了
    BruceXu
        17
    BruceXu  
       207 天前
    没关系,可以花钱找人带你啊.

    dota 打了十几年了,操作已经跟不上了,现在找主播带,想躺平就躺平,想拼一把就拼一把,最后还能赢.情绪价值和游戏体验都给得满满的.
    LaGeNanRen
        18
    LaGeNanRen  
       207 天前
    国内瓦刚出的时候,我发现一直有几十的丢包,说实话作为国内 top0 的游戏厂商,这个国服服务器表现我觉得不可能,但无论在家里还是网吧都是丢包。。。后来发现挂个 uu 加速器加速国服无畏契约,就 0 丢包了。不知道为啥。。。
    layxy
        19
    layxy  
       207 天前
    我就是又菜又爱玩,毕竟我电脑换了,显示器换了,键盘换了,鼠标换了,网络换了,甚至电脑桌也换了,没有其他原因了啊
    Danswerme
        20
    Danswerme  
       205 天前
    菜更要多玩,玩多了就能成为菜鸟中的老手了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2133 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 00:23 PVG 08:23 LAX 16:23 JFK 19:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86