首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

.Net+SQL Server企业应用性能优化笔记3——SQL查询语句

如果性能问题是出在程序上,那么就要根据业务对程序中的函数进行调整,可能是函数中的写法有问题,算法有问题,这种调整如果不能解决问题的话,那么就要从架构上进行考虑,我们是不是应该使用这种技术,有没有替代的方案来实现同样的业务功能?举个简单的例子,假设经过跟踪发现,一个负责生成图表的函数存在性能问题,尤其是在压力测试情况下性能问题尤为严重。原来的图表生成是完全基于GDI+在Web服务器上根据数据进行复杂的绘图,然后将绘出的图片保存在磁盘上,然后在HTML中添加Img标签来引用图片的地址。现在使用GDI+会消耗大量内存和CPU,而算法上也没有太大的问题,那么这种情况下我们就需要考虑修改架构,不使用GDI+ 绘图的方式,或者是使用异步绘图的方式。既然绘图会消耗大量的服务器资源,那么一种解决办法就是将绘图的操作从服务器转移到客户端。使用SilverLight技术,在用户打开网页是只是下载了一个SilverLight文件,该文件负责调用Web服务器的Web服务,将绘图所需的数据获取下来,然后在客户端绘图展现出来。这样服务器只提供WebService的数据访问接口,不需要做绘图操作。

02

GDI与OpenGL与DirectX之间的区别

GDI,图形设备接口,MS开发的通用的windows系统图形编程接口,功能强涉及面广,一般的编程都用它。但是用来做多媒体开发就差强人意了 OPENGL是SGI开发的一套三维图形软件包,出现很早,功能超强,且接口简洁,运算效率绘图效果极高,早期大都用在科研部门,运行在高性能计算机上。学术性较强,科研部门用的才多。曲高和寡,被DX抢了市场 DX,MS开发的三维绘图软件包,(里面也包括了,语音鼠标键盘加速包,还有视频、图象)。早期性能比DX差远了,但是通过操作系统的捆绑销售以及MS的大力市场推广,稳稳的占据了市场,并且经过不断的升级,现在性能上基本已经超过了OPENGL。基本绘图方法和OPENGL差不多,只不过接口采用COM方式,对于COM不了解的程序员来说上手有点难度。 学开发GDI是最基本的,学三维、学多媒体,就学DX吧。现在显卡基本都支持DX,支持OPENGL的已经很少了 ,不过OpenGL的3D图形处理确实很不赖,对OpenGL感兴趣的可以看一下Nehe的OpenGL教程中文版电子书,chm格式的,里面有48个课程讲解和相应的代码,对OpenGL初学者很不错,大家可以从我的资源网址http://download.csdn.net/detail/ccf19881030/2159345下载。另外对于DirectX学习的话推荐的是<<DirectX 9.0游戏开发编程基础>>和<<DirectX 3D图形与动画程序设计>>,后者已经差不多不发行了,其实后者代码很丰富的,可以上网搜一下电子版的。

02

C#调用GDI+1.1中的函数实现高斯模糊、USM锐化等经典效果。

在GDI+1.1的版本中,MS加入不少新的特性,其中的特效类Effect就是一个很有吸引力的东西,可惜在VS2010的Image类中,却没有把这个类封装进来(不晓得是不是我没有发现),这个也许MS也有自己的考虑的,毕竟要使用这些函数,必须要求系统是Windows Vista及其以上,而XP的市场占有率在那个时候还比较高的。 不过,作为一种选择,我们有义务把这些函数给哪些已经按照了这些最新系统的客户使用。 其实,这些函数我在VB6下两年前就已经调用过,调用的方式也很简单明了,现在,在学习C#,就要考虑如何将他们封装入C#中。虽然哪些算法的更底层(像素级别的处理实现)实现在很早之前就已经实现,但是能够直接调用现有的函数对于不少朋友来说还是一件很幸福的事情的。 实现这个功能的第一步就是要找到这些函数的声明,这个在MSDN上有C风格的声明,改成C#语言的大部分都不成问题,参考 http://msdn.microsoft.com/en-us/library/ms533971(VS.85).aspx 例如,这个

04
领券