我正在阅读Brad Wilson(http://bradwilson.typepad.com/blog/2008/08/partial-renderi.html)关于新的ViewEngine对MVC Preview 5的更改的一篇文章,并认为能够做到这一点很棒将视图呈现为字符串以在测试中使用.我从文章中得到的印象是,有可能实现这一目标,但无法弄清楚如何实现.
我相信这将使我们能够取消一些WatIn测试(速度慢且不可靠),因为它允许我们通过简单地检查字符串的预期值/文本来检查View是否已正确呈现.
有没有人实现过这样的东西?
我在IE7中有显示问题,因为它以怪异模式渲染.我通过显示"document.compatMode"并返回"BackCompat"而不是"CSS1Compat"来确认这一点.使用IE8并恢复到IE7可以正常工作,因为这样可以避免怪癖.在简单的IE8中,我通过使用X-UA-Compatible标头强制渲染模式来修复它,但这对IE7不起作用.其他浏览器也会显示怪癖,但与IE不同,它不会将它们置于伪IE5.5模式,因此它们仍然可以正常渲染.
如何强制IE7在标准渲染模式下渲染而不是怪癖?我已经尝试将DOCTYPE设置为许多不同的选项,我没有添加xml序言.提前感谢您的回复.
我有一个在.NET 3.5上运行的独立WPF应用程序.每隔一段时间,显示屏就会冻结几秒钟.这在经常更新某些内容的屏幕上最为明显.这是一个显示问题的视频.
当显示器冻结时,界面保持响应(视频).
我遇到过一些其他类似问题的帖子,这些帖子将其归因于SW/HW渲染问题.为了安全起见,我完全禁用了硬件渲染,但仍然存在问题.
我在冻结期间运行了一个文件监视器,看看是否有一些特殊的文件访问或活动,但没有什么是不寻常的.
最后说明:目标平台是一款小型触摸屏平板电脑,没有太多内存或马力(512 MB).我只在目标上看到这个问题,而不是在我的开发PC上,它在资源方面有更多.
UPDATE
我以为我通过删除一些动画代码修复了这个问题,但它没有用.我仍然遇到这个问题而且我已经到了最后.
这是我尝试过的更多内容:
我真的很难过,并且增加了赏金.正如我所提到的,问题只发生在目标PC(链接)上.
对运行多个xvfb显示器感到好奇:我有10-50个并行运行的脚本实例连接到xvfb显示器.是否有利于运行相同数量的xvfb显示并连接1对1?或者多个进程可以共享同一个显示?RAM不是问题,处理能力也不是问题.
在我更改所有代码之前,我只想验证我需要的代码.
我在ready()函数中有几个内联js和jquery函数:
$(document).ready(function(){ do_something(); ...
Run Code Online (Sandbox Code Playgroud)
其中许多函数依赖于外部js文档中包含的其他函数.它们还使用外部样式表中定义的类.
现在我刚刚更改了外部js和css的加载,以便延迟(按照Google https://developers.google.com/speed/docs/best-practices/payload?hl=zh-CN#DeferLoadingJS的建议):
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
Run Code Online (Sandbox Code Playgroud)
这样,在开始加载JS之前,页面将完全呈现,包括所有图像.
这很好用.但是,我想知道为什么以及它是否会永远.是不是在onLoad之前执行了$(document).ready()?在执行$(document).ready时,我不会冒没有定义必要函数的风险吗?
那么,我是否需要将每个$(document).ready更改为$(document).load()?或者,至少其中一些?但是然后首先执行哪个onLoad()?加载外部js(在标题中定义)或内联js的那个?通过改变准备加载我会失去什么?例如,当用户点击元素时,我可能会冒一个事件未附加到元素的风险吗?
顺便说一句,jquery api不会被推迟,因为当我去执行其他代码时会导致问题.
Windows 8上的Chrome 26.0.1410.64m在渲染WebFonts时遇到问题.这是一个已知问题,解决方案是首先提供字体的svg版本而不是woff版本.它修复了抗锯齿并使字体看起来很漂亮.
这种方法的缺点是选择输入内部元素内部的奇怪渲染.
我添加了一个jsfiddle来看它的实际效果:http://jsfiddle.net/4mSpv/6/.
CSS尽可能简单.
@font-face {
font-family: 'Montserrat';
src: url('https://raw.github.com/louh/website/master/fonts/montserrat-regular-webfont.svg#montserratregular') format('svg');
font-weight: 400;
font-style: normal;
}
select {
font-family: 'Montserrat', sans-serif;
}
Run Code Online (Sandbox Code Playgroud)
我删除了一个字体的本地安装,并注意到其他Windows 7计算机也这样做.谁知道铬的情况如何?(IE,Firefox,Safari都渲染得很好)
PS:JSFiddle中没有包含其他浏览器字体来过滤问题,每个浏览器都有自己的怪癖(不允许使用字体大小等),但渲染文字很好
当我presentRenderBuffer在某些情况下调用我的应用程序崩溃与EXC_BAD_ACCESS.但通常一切都很好.
调用堆栈在这里:
#0 0x2f53f02e in glrGetPrivateInteger ()
#1 0x329a192e in gliGetInteger ()
#2 0x002eec04 in __collect_all_context_profiling_data_block_invoke ()
#3 0x0015ea7c in iter_contexts ()
#4 0x002ee7f2 in collect_all_context_profiling_data ()
#5 0x00163fbc in copy_profiling_data_dictionary(ContextInfo*, unsigned int, unsigned long long) ()
#6 0x00160566 in handle_frame_boundary ()
#7 0x002f194c in EAGLContext_presentRenderbuffer(EAGLContext*, objc_selector*, unsigned int) ()
#8 0x00044a68 in __36-[CanvasView initializeWithContext:]_block_invoke56
Run Code Online (Sandbox Code Playgroud)
你有什么想法吗?
解决:
在不同的上下文中创建和删除纹理.这导致了问题.
现在,在一个上下文中创建和删除纹理.它解决了这个问题.
我有1500个小对象来渲染rails 4应用程序中的web服务.我使用json作为格式与jbuilder模板.我已经在app初始化程序中将json引擎更改为oj:
require 'oj_mimic_json'
#MultiJson.use :yajl
Oj.mimic_JSON
# jbuilder json templates
Jbuilder.key_format camelize: :lower
Run Code Online (Sandbox Code Playgroud)
单个渲染的json对象如下所示:
center: {lat: 45.962153536249, lon: 7.68207088549831}
lat: 45.962153536249
lon: 7.68207088549831
n: "Zermatt-Cervinia"
st: 80
sy: 0
Rendered json_partials/_snow_in_resort.json.jbuilder (0.5ms)
Rendered json_partials/_snow_in_resort.json.jbuilder (0.5ms)
....
Rendered resorts/find.json.jbuilder (4213.4ms)
Completed 200 OK in 4351ms (Views: 3924.3ms | ActiveRecord: 306.8ms | Solr: 0.0ms)
Run Code Online (Sandbox Code Playgroud)
但是我的本地主机上仍然需要150毫秒的101 kb,这对于我想在UI上完成的任务来说太慢了.我需要做些什么来加速这里?我应该检查哪些事项?我很感激帮助.最好,菲利普
更新
我将我的活动记录查询优化到ActiveRecord:77.8ms,但视图渲染仍然太慢
我基本上试图了解在光栅化过程中将浮点顶点坐标转换为定点数时GPU是如何工作的.
我读过这篇很好的文章,它解释了很多东西,但它也让我困惑.所以文章解释说因为我们使用32位整数和边缘函数,如下面的形式(a - b)*(c - d) - (e - f)*(g - h),我们被限制在范围[-16384,16383].我理解我们如何得到这个数字.这是我的问题:
我正在构建一个交互式函数,它将重复构建和绘制相当复杂的ggplot2图.
用户提供输入(实际上是PCA加载矩阵的旋转角度),我想尽快向他们展示旋转结果.
不幸的是,用ggplot2绘制情节非常缓慢.
注意:
ggobi等等......).memoise,但这似乎没有多大帮助; 问题似乎是图形设备上的实际绘图.所以,我想,也许我想以某种方式预渲染所有必要的图,可能是通过将svg()图形设备保存到文件或其他东西,然后根据需要绘制这些缓存版本.
更新
ggvis和ggobi,但这些现在不是一个选项(开发带宽太小).grid.arranged)绘图函数,而且memoise在某些时候它们是d - 没有明显的速度增加.