好几天了没找到原因,求助牛人.过多的页面错误问题在哪?代码运行一天,页面错误量达到2亿多

问题描述

做了个项目,发现页面错误每少几千个的增加.软件用了几个Bitmap,页面错误增量每少就4万多,代码运行一天,页面错误量达到2亿多.已经影响了软件的运行效率.新建一个简单新项目测试,发现这个问题:不知道什么原因?privatevoidForm1_Load(objectsender,EventArgse){timer1.Interval=1;timer1.Enabled=true;}privatevoidtimer1_Tick(objectsender,EventArgse){Bitmapbmp=newBitmap(320,240);Graphicsg=Graphics.FromImage(bmp);g.Dispose();g=null;bmp.Dispose();bmp=null;}

解决方案

解决方案二:
你可以不用每次创建Bitmap(只有大小改变的时候才需要重新创建)。Bitmapbmp=newBitmap(320,240);privatevoidtimer1_Tick(objectsender,EventArgse){Graphicsg=Graphics.FromImage(bmp);g.Dispose();}
解决方案三:
引用1楼Forty2的回复:

你可以不用每次创建Bitmap(只有大小改变的时候才需要重新创建)。Bitmapbmp=newBitmap(320,240);privatevoidtimer1_Tick(objectsender,EventArgse){Graphicsg=Graphics.FromImage(bmp);g.Dispose();}

谢谢,这是测试代码,软件中是你这样使用的.软件中有改善,但用C#写的程序,就算点击一个无代码的按钮,也会出页岩错误.不知道什么原因.想找到原因.
解决方案四:
PageFault(页面错误)本身是正常的,是内存管理的一种方式。只有大量的PageFault才是问题。
解决方案五:
引用3楼Forty2的回复:

PageFault(页面错误)本身是正常的,是内存管理的一种方式。只有大量的PageFault才是问题。

我这就是非常大的问题了.上天下来上亿个页面错误.是没手动处理C#的垃圾回收的原因?
解决方案六:
没有代码的button,也会提交到服务器,也会执行form_load,问题会不会在这里
解决方案七:
你倒是贴个错误来看看啊
解决方案八:
楼上的,人家是页面错误数量,跟错误没关系.我觉得完全可以无视这个问题.
解决方案九:
引用7楼wukaiping870123的回复:

楼上的,人家是页面错误数量,跟错误没关系.我觉得完全可以无视这个问题.

正是因为这是一个很“自然”的、应该无视的问题,所以才需要lz贴个错误出来。他贴不出来,但扑风捉影会把精神搞得错了乱了。。
解决方案十:
如果把interval设置到1000,也就是1s,你会看到pagefault的delta基本稳定在75。计算下就知道320*240*4/4096=75,也就是说这些pf是Bitmap,或者说是GDI+造成的。可以google看,会找到这样的说法:“GDI+bitmapsusememorymappedfiles.Thebitmapdatagetsloadedintomemorythroughpagefaults.”,如果是这样,那就谈不上影响效率,因为这种pf并不涉及磁盘I/O,更何况你无法控制GDI+的内部实现。为什么要创建如此多的Bitmap才是问题。

时间: 2024-08-02 12:54:12

好几天了没找到原因,求助牛人.过多的页面错误问题在哪?代码运行一天,页面错误量达到2亿多的相关文章

新手帖,按照基础课本来做一个十进制转十六进制的che程序,但结果却不对,又一直没找到原因,希望哪位大神帮忙看看,哪里出错了,谢谢了!

问题描述 classG{publicstaticvoidmain(String[]args){toTex(60);}publicstaticvoidtoTex(intnum){char[]att={'1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};for(intx=0;x<8;x++){inttemp=num&15;System.out.println(att[temp]);num=num>>>4;}}

PPT中Chart.ChartData的读写,好几天了,没找到解决方法

问题描述 我在开发PPT里的Chart里的数据的读写,读写的是chartdata.workbook.sheets[1]现在的问题是:如果不调用chartdata.Activate()方法,对chartdata.workbook的数据读写就会报错chartdata.Workbook.Application.Visible=false;这样写也会报错报错都是"对COM组件的调用返回了错误HRESULTE_FAIL"如果调用chartdata.Activate(),读写时不会报错,但是Exc

常用牛人主页链接(计算机视觉、模式识别、机器学习相关方向,陆续更新。。。。)【转】

转自:http://blog.csdn.net/goodshot/article/details/53214935 目录(?)[-]        The Kalman Filter 介绍卡尔曼滤波器的终极网页 Navneet DalalHistograms of Oriented Gradients for Human Detection   牛人主页(主页有很多论文代码) Serge Belongie at UC San Diego Antonio Torralba at MIT Alexe

代码-pat求助(有一个测试点通过不了:异常退出,检查了好久也没发现原因,求检查)

问题描述 pat求助(有一个测试点通过不了:异常退出,检查了好久也没发现原因,求检查) 题目如下:1039. Course List for Student (25) 时间限制200 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN YueZhejiang University has 40000 students and provides 2500 courses. Now given the student name lists of all the

电脑鼠标没反应原因与解决办法

  鼠标没反应怎么回事?之前用着一直都好好的,今天突然就用不了,请问如何解决?一般来说,导致鼠标没反应,主要分为硬件故障和软件故障2种,硬件故障需要维修或者更换解决,而软件问题,则可以通过设置电脑解决.下面小编为大家分析一下鼠标没反应原因与解决办法,遇到类似电脑故障的朋友,不妨看看. 鼠标没反应怎么回事 鼠标没反应原因与解决办法 鼠标接口一般分为USB或者PS/2两种接口,其中PS/2是台式电脑最常用的鼠标接口,而USB接口鼠标即可用户台式机也可以用于笔记本.遇到,鼠标没有反应先不要着急,最先要

解析img图片没找到onerror事件

 本篇文章主要介绍了img图片没找到onerror事件 Stack overflow at line: 0 需要的朋友可以过来参考下,希望对大家有所帮助 打开网页时提示 Stack overflow at line: 0.我做了截图如下:    经过分析,发现网页中存在类似如下的代码:   <img src="pic.gif" onerror="javascript:this.src='/noPic.gif';" alt="pic" /&g

eclipse-报类没找到错org.springframework.web.context.ContextLoaderListener

问题描述 报类没找到错org.springframework.web.context.ContextLoaderListener 我用maven构建的ssh项目,但是报这个错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 以前也遇到过这个错把相应的jar包放到WEB-INF/lib下就没问题了,但是现在这个项目是用maven构建的,就不用WEB-INF/lib目录下,那

登录事件时候-=号附近有语法错误 看来看去都没找到

问题描述 =号附近有语法错误 看来看去都没找到 private void button1_Click(object sender, EventArgs e) { string sql = "select * from T_USER where users='" + tb_user.Text + "'"; DataSet ds = account.Getdateset(sql); if (ds != null && ds.Tables[0].Rows.

visualstudio-请问现在还可以在微软官网找到VS2010吗?就是现在!本人找了半天还没找到……

问题描述 请问现在还可以在微软官网找到VS2010吗?就是现在!本人找了半天还没找到-- 我买了本C语言教程的书上面拿VS2010做的例子我现在想找VS2010可是找不到, 请问官网上还有吗,如果没有还可以通过什么渠道得到呢?不然用VS2013和2010的行吗? 区别大吗?新手困惑ing-- 解决方案 网上下载一大把,你 Baidu/Google 一下吧,提供你两个下载地址:Visual Studio 2010 官方正式版 Microsoft Visual Studio 2010 官方中文旗舰版