在我的Web项目的业务对象编辑器页面中,我在对象插入或更新后向管理员发送通知电子邮件.但是,我想发送另一个aspx页面(Notification.aspx)的html输出而不是发送纯文本邮件,我只是为此目的而准备.
首先我想,我可以创建一个Notification.aspx的实例,然后使用它的RenderControl方法来获取输出.
但是,在Editor.aspx页面的代码隐藏中,我甚至无法达到Notification的创建新实例的引用.
我想知道在另一个页面中加载和呈现页面的最佳实践是什么...
谢谢.
我使用了" 不会阻止页面下载的更好的Google AnalyticsJavaScript "来动态加载Google Analytics,因此它不会阻止HTML /页面呈现.
但是,有时候我的HTML页面会阻止Firefox 3.0(WinXP)状态消息的呈现状态:
" 从www.google-analytics.com传输数据 "
有关如何以不会阻止HTML /页面呈现的方式加载Google AnalyticsJava的任何想法?
所以,我正在构建一个WPF应用程序,并在今天进行了测试部署,并发现它的表现非常糟糕.我很惊讶,因为我们在视觉效果或动画方面做得并不多.
我部署在两台机器上:运行应用程序所需的最快和最慢(最慢的PC具有Intel Celeron 1.80GHz和2GB RAM).该应用程序在较快的机器上运行得很好,但在较慢的机器上却不稳定.当我说"波涛汹涌"时,我的意思是光标跳过,甚至只是将它传递到有焦点的应用程序的任何打开的窗口.
我打开了"任务管理器性能"窗口,可以看到只要应用程序有焦点并且光标在其上移动,CPU使用率就会跳跃.如果我将焦点放在另一个(例如Excel)上,CPU使用率会在一秒后恢复.这发生在两台机器上,但是在较慢的机器上只有明显的波动.我只有非常有限的时间来修补部署机器,所以没有做很多详细的测试.
该应用程序在我的开发机器上运行良好,但我也看到CPU在那里飙升10%,只是将光标放在窗口上.
我从MS下载了WPF性能工具并且一直在修补它(在我的开发机器上).文档说明了Perforator工具中的"帧率"指标:
对于没有动画的应用程序,此值应接近0.
应用程序没有做任何繁重的动画,但当光标在任何窗口上时,帧速率保持在50附近.我测试过的屏幕在网格中有列标题"突出显示",滚动时会改变颜色和外观的按钮.即使在窗口的空白区域上移动鼠标也会导致相同的帧速率和CPU使用率(似乎与这些次要动画无关).
(另外,除了两个默认工具 - Perforator和Visual Profiler - 安装到WPF性能工具中之外,我无法弄清楚如何获得任何东西.这可能是一个单独的问题).
我也有Redgate的分析工具,但我不确定这是否可以解释渲染性能.
因此,我意识到在没有细节或示例代码(我无法发布)的情况下进行故障排除并不容易.我的问题是:
例如,在GPU Gems中,前后合成方程(用于颜色)是
C ' 我 =(1 - A' Ⅰ-1)C 我 + C" I-1
其中C'i是输出累积颜色值; ' i-1是直到前一个体素的累积alpha(不透明度)值; C i是当前体素的颜色值; 和C'i-1是直到前一个体素的累积颜色值.
这个提法给我提出了两个问题:
一旦累积的不透明度达到大约1,就会发生从前到后的终止.那么,在达到不透明度极限之前,有哪些颜色通道(RGB)会超过最大值?你只是将值夹在0..255之间(例如500,1000,2000将变为255,255,255),或者查看通道之间的比率(例如500,1000,2000将变为64,128,255).
上一个问题的答案可能就是这个问题.当前体素的颜色输出取决于一个减去累积的不透明度.如果累积不透明度为零并且当前体素的不透明度为零怎么办?- 输出是完全不透明的体素,因为(1 - A'i-1)= 1,即使它被认为是透明的体素!?
任何提示非常感谢.
我正在用<button> 一个表格发帖子.我的样式也a.button完全像<button>(我需要a.button制作一些JS的东西).
按钮有一些填充,固定高度.当我指定按钮/ a的宽度时,它们看起来都一样.但是当我向<button>它添加宽度时忽略了填充.
我在Chrome,Firefox和Opera中遇到此问题,所以我猜这不是渲染错误.也是同样的问题<input type="submit" />
这是基本的CSS:
.button, button {
margin: 0;
display: inline-block;
border: 0;
text-decoration: none;
cursor: pointer;
color: black;
background: #ddd;
font: 12px Verdana;
padding: 40px; /* 40px, so you can see that it won't be rendered with width */
text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<a href="#" class="button">Some text</a>
<button>Some text</button>
<!-- Works fine till here -->
<br /><br />
<a href="#" class="button" style="width:200px">Some text</a>
<button style="width:200px">Some …Run Code Online (Sandbox Code Playgroud) 我想我们都听说过不同的IE渲染模式,主要是基于它们的版本(IE6,IE7,IE8,IE9),它们的"兼容模式","怪癖模式"以及先前版本渲染的模拟.这就是,渲染IE9模拟IE8将无法获得与原生IE8相同的渲染.
无视这些可能运行的大量Windows版本......这些组合中有多少实际上是不同的?在测试我的网站时,我应该考虑IE9运行IE8文档模式吗?我应该选择主要版本吗?
老实说,对于仅微软世界的整套渲染引擎我很困惑,还没有提到Webkit,Gecko和其他渲染引擎如何表现.我希望这个问题能让我(和其他人)更接近清除我们的想法.
我使用C#在WPF中创建一个简单的车辆和抛射物模拟游戏.我需要有一个恒定的帧速率(即我需要知道在每帧中以一定的速度移动一个物体的程度).这样我就可以订阅一个事件,根据游戏的物理特性计算和更新位置到CompositionTarget.Rendering事件.
CompositionTarget.Rendering += UpdatePositions;
Run Code Online (Sandbox Code Playgroud)
我用Google搜索了一段时间,但没有找到答案.WPF中的fps 似乎是任意的,并且使用秒表来知道帧与前一帧之间经过的时间根本不会是干净的.
我还考虑创建自己的帧速率,通过每隔几毫秒调用UpdatePositions并希望渲染相应地发生并具有平滑的动画.这似乎重新发明了轮子,我想不出一种以干净简单的方式实现这一点的方法.
谢谢!
我想将网页(即TWebBrowser)呈现给设备上下文.我想使用Internet Explorer的布局引擎将内容呈现给设备上下文(即图元文件,pdf图元文件).
从Internet Explorer 9开始,IHTMLElementRender不再支持该接口:
IHTMLElementRender接口
使用此接口将元素的内容绘制到指定的设备上下文,通常是打印机.
会员
的IHTMLElementRender接口从继承的IUnknown接口,但没有其他成员.
至于他们不再提及DrawToDC方法甚至存在:
IHTMLElementRender :: DrawToDC方法
已过时.将元素的内容绘制到指定的设备上下文.
句法
Run Code Online (Sandbox Code Playgroud)HRESULT DrawToDC( HDC hDC );参数
- hDC
[in] 指定要绘制的设备的HDC,通常是打印机.回报价值
如果成功则返回S_OK,否则返回错误值.
备注
从Windows Internet Explorer 9开始,不推荐使用此方法,不应使用此方法.
对于某些打印机,运行IHTMLElementRender :: DrawToDC可能会导致问题.通过首先运行IHTMLElementRender :: SetDocumentPrinter方法,然后将修改后的设备上下文传递给IHTMLElementRender :: DrawToDC,可以确保IHTMLElementRender :: DrawToDC在所有打印机上正常工作.
注意:我引用了所有文档,以便在Microsoft最终将其从MSDN中完全删除时仍可以找到它.随着接口声明:
IHTMLElementRender = interface(IUnknown)
['{3050F669-98B5-11CF-BB82-00AA00BDCE0B}']
function DrawToDC(hdc: HDC): HResult; stdcall;
function SetDocumentPrinter(const bstrPrinterName: WideString; hdc: HDC): …Run Code Online (Sandbox Code Playgroud) 我想在同一时间向我的模板渲染2件事:
String one = "one";
String two = "two";
return ok(template.render(one,two));
Run Code Online (Sandbox Code Playgroud)
但Playframework说,这是错误的.那么如何同时渲染2个值呢?我应该将它们保存到列表中吗?但后来我必须在我的模板中再次解压缩.. :(
请帮忙!感谢任何帮助!
所以,之前出现过这个问题,比如:翻译+ Canvas =模糊文本 ,这里:CSS翻译后是否可以"捕捉到像素"?
似乎没有任何关于这些链接的结论 - 或者我读过的任何其他文章.一些响应者并不认为这很重要,所以这就是为什么在我的情况下它是:
Chrome 41.0.2272.104中的屏幕截图
Safari 8.0.4中的屏幕截图(10600.4.10.7)
在Safari中查看详细信息?(看看航天飞机图像中的结构,或第3幅图像中岩石的细节)
这些家伙的CSS是
width: 100%;
height: auto;
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
Run Code Online (Sandbox Code Playgroud)
因此,在某些情况下 - translateY将以半像素结束.左边的第一个图像最终得到一个变换矩阵,如下所示:
-webkit-transform: matrix(1, 0, 0, 1, 0, -56.5);
Run Code Online (Sandbox Code Playgroud)
目前,Chrome似乎很好地呈现了这一点(我看到一些人说不同的浏览器在不同的版本中创建了这个问题),但目前Safari正在解决这个问题.所以,我修复这个问题的假设是确保只有整个像素,我已经通过数学运算并在javascript中应用变换来完成,但是当在大量图像上运行时,这会花费更多的性能时间.
我尝试了一些像CSS一样的黑客攻击,比如使用scale3d但没有成功.如果有人有任何JS免费解决方案,我将非常感谢共享的知识.