在几乎任何Windows应用程序中,我注意到在非客户区域中按住鼠标按钮会导致绘画停止.为什么需要这个?
例如,我有一个Managed Direct 3D应用程序,它显示一个旋转立方体.如果我将指针放在标题栏上并按住鼠标按钮,即使我没有将任何此类条件编码到循环中,立方体也会停止旋转.
为什么画停了?有什么好处?最重要的是,我该如何解决这个问题?
在ASP.NET MVC应用程序中,我有一个动作页面(),它呈现一个页面(如维基页面).
现在,我有另一个动作RenderPdf(),它应该收集Page()的HTML输出并使用HTML2PDF组件来创建该页面的PDF版本.
如何在另一个操作中收集一个操作的HTML输出.注意:不在视图中,而是直接在动作代码中.
我有一个使用Javascript动态生成的数据表.每隔几分钟,页面就会通过触发Ajax请求,从服务器获取数据并替换表中的数据来刷新数据.这是非常标准的,表格最终看起来像这样:

如果我通过清空表并逐渐添加行来生成数据,这可以正常工作.但是,此表可能有数千行,并且生成浏览器为用户提供的表可能需要很长时间"这个脚本需要很长时间才能执行"错误.所以我通过将表生成分成块并使用一次做一点来解决这个问题setInterval.
这工作正常,但因为表可能需要一段时间才能完全生成,我试图聪明并做一些伪双缓冲.我有一个第二个表,它display设置为none隐藏它,当我重新生成表时,我一次将行添加到隐藏表中.这样,在表重新生成完成之前,用户可以看到现有数据,此时我们只需将它们全部替换为新内容.
我正在使用以下代码行替换
$("#loading_area tbody").children().appendTo( $("#unplanned tbody").empty() );
Run Code Online (Sandbox Code Playgroud)
这适用于Firefox,Safari和Google Chrome.但在IE上,我得到以下内容:

这些行实际上不是空白 - 如果我足够水平滚动,内容就在那里:

看来第一列的宽度超过55,000像素!这里有一个非常奇怪的部分:一旦我改变了关于桌子风格的内容,内容就会重新正确显示.因此,如果我将字体颜色更改为绿色,IE将立即正确地重新渲染表格.
但是我不能直接做出改变.所以,如果我说
$("#unplanned").css("color", "green");
Run Code Online (Sandbox Code Playgroud)
然后它没有正确地重新渲染; 颜色变化,但第一列保持55,000像素宽.但是如果我直接对样式表进行更改
document.styleSheets[1].rules[3].style.color = "green";
Run Code Online (Sandbox Code Playgroud)
然后它正确地重新呈现表格.
所以,我最终通过制作随机风格上的变化,切换之间展开/折叠按钮的边缘固定这1px和0px每一个我在铺设完出表的时候,和这个工作.
我的问题是,当我尝试打印页面时,行是空白的,因为页面内容不正确地呈现给打印机.
所以我会尝试更多的技巧,可能只是切换显示哪个表并交换他们的ids或其他什么使这个工作.我的问题是,这里发生了什么?这似乎是IE中的一个错误; 我正在使用IE8,但同样的事情发生在IE6和IE7上.我想避免将来陷入这个坑,但我不确定是什么导致这个,所以我不确定我应该避免什么.任何人都可以放弃的任何亮点都将非常感激.
编辑:交换显示哪个表使得渲染问题在浏览器中消失而不需要样式表黑客,但打印问题仍然存在.实际上,即使直接生成表而没有显示/隐藏或元素移动技巧,打印问题也存在.所以我很困惑,不知道我能做些什么来解决这个问题.如果我无法解决这个问题,我可能不得不制作一个单独的静态页面用于打印.
我在MATLAB中生成了一个包含大量元素(100000+)的图形,并希望将其保存到PDF文件中。使用zbuffer或painters渲染器,我得到了一个非常大且缓慢打开的文件(超过4 Mb)-所有点均为矢量格式。使用OpenGL渲染器将PDF中的图形光栅化,可以使用该图,但对于文本标签则不好。文件大小约为150 Kb。
尝试使用以下简化代码,例如:
x=linspace(1,10,100000);
y=sin(x)+randn(size(x));
plot(x,y,'.')
set(gcf,'Renderer','zbuffer')
print -dpdf -r300 testpdf_zb
set(gcf,'Renderer','painters')
print -dpdf -r300 testpdf_pa
set(gcf,'Renderer','opengl')
print -dpdf -r300 testpdf_op
Run Code Online (Sandbox Code Playgroud)
带有多个轴和不同类型的图的实际图形要复杂得多。
有什么方法可以栅格化图形,但将文本标签保留为矢量?
OpenGL的另一个问题是在Mac OSX的终端模式(-nosplash -nodesktop -nodisplay)下不起作用。看起来不支持OpenGL。我必须使用终端模式进行自动化。我运行的MATLAB版本是2007b。Mac OSX服务器10.4。
我正在使用OpenGL制作3D FPS,这是它如何工作的基础知识.游戏是立方体的3D阵列.我知道玩家当前立方体的位置,以及相机x,y,z,我也知道相机的x,y,z旋转.现在我只是围绕玩家制作一个正方形并渲染它然后添加远处的雾.但问题是,我仍在渲染玩家所拥有的一切.我怎么能有选择地只渲染玩家看到的东西,而不是像我现在所做的那样在X半径范围内渲染所有东西.
谢谢
我注意到一些页面几乎立即开始呈现,而其他页面有时必须等到许多或所有资源(javascript,image,css)都已下载.最糟糕的情况似乎是一个大页面,在慢速连接或服务器上.我正在查看的一个特定页面大约有2 MB,包含30个不同的.js文件,12个.css文件和80个图像.
我知道http://developer.yahoo.com/performance/rules.html上的建议,但是什么会妨碍浏览器尝试呈现页面,直到最后一个元素被下载?
为什么这会渲染:json没有模板,但不渲染:csv?
在我的datapoints_controller的索引方法中:
respond_to do |format|
format.json { render :json => @goal.datapoints.all }
format.csv { render :csv => @goal.datapoints.all }
end
Run Code Online (Sandbox Code Playgroud)
将我的浏览器指向/datapoints.json会将该集合呈现为屏幕上的json字符串.将它指向/datapoints.csv会出错:
Template Missing: with {:locale=>[:en, :en], :formats=>[:csv],
:handlers=>[:rhtml, :rxml, :erb, :builder, :rjs]}
Run Code Online (Sandbox Code Playgroud)
Datapoint的一个实例响应to_csv,但即使我手动将其映射为csv格式并将其呈现为文本,它也会产生模板缺失错误,因此,例如我尝试过这样的事情:
format.csv { render @goal.datapoints.map{|d| d.to_csv }.join "\n" }
Run Code Online (Sandbox Code Playgroud) 我想了解一下Minecraft renderengine是如何工作的,以及perhabs如何使其适应其他技术.是否有一个看似非常简单的Minecraft渲染引擎的分析?
体素,正交边界和一些其他约束适用于此引擎.
我使用jqplot创建了以下图表.
我想将蓝线与蓝色条形图对齐,红线与红色条形图对齐.对齐我的意思是折线图的"项目符号"(显示值)将与条形图水平对齐.
这可能吗?我知道如果我将条形图叠加在另一个上面就有可能.但如果我希望条形图显示在这里......那么它可能吗?
谢谢你的回答......