标签: renderer

在 Chrome 中重新计算样式事件大约需要 2 秒

我正在开发一个网络应用程序,该应用程序在 Google Chrome 中突然变得极其无响应。在任何其他浏览器中似乎都没有相同的问题(我用 Firefox 和 Safari 进行了测试)。例如,单击输入文本框时,单击和元素获得焦点之间需要 3 到 5 秒的时间。单击复选框时也会发生相同的行为。有几点需要注意:此页面有一个包含大约 150 个选项的下拉菜单,以及一个包含 10 行的表格。除此之外,并无其他异常。

我打开 Chrome 代码检查器并使用“时间轴”选项卡来查看发生了什么。事实证明,大部分延迟来自“重新计算样式”事件,大约需要 2 秒。该事件发生在 mousedown 事件之前。在网上简单搜索此步骤并没有透露太多信息。有谁知道这个特定的渲染步骤以及可以采取哪些措施来提高其性能?

javascript dom google-chrome renderer

4
推荐指数
1
解决办法
4767
查看次数

没有任何 HTML 渲染的显示页面

我有两个页面之间的不一致。PHP 正在转储变量,我需要能够看到变量中的原始数据,而无需 HTML 渲染呈现其中可能存在的任何内容。

后渲染版本 100% 相同,但是当我使用字符串和 hash_hmac 时,它们会得到不同的结果哈希。

有没有办法转储这些字符串并查看原始数据?

php browser hash renderer

4
推荐指数
1
解决办法
4794
查看次数

使用p元素而不是span来渲染JSF h:message

我想创建一个自定义消息渲染器,将h:message呈现为'p'html元素而不是'span'元素.它涉及以下消息标记:

<h:message id="firstNameErrorMsg" for="firstname" class="error-msg"  />
Run Code Online (Sandbox Code Playgroud)

我写了下面的代码,但那只是呈现一个空的'p'元素.我想我必须从原始组件中复制所有属性和文本并将其写入编写器.但是,我不知道在哪里可以找到所有内容,而且仅仅更换标签似乎需要做很多工作.

有没有更好的方法来将h:message标记呈现为'p'元素?

码:

@FacesRenderer(componentFamily = "javax.faces.Message", rendererType = "javax.faces.Message")
public class FoutmeldingRenderer extends Renderer {

    @Override
    public void encodeEnd(final FacesContext context, final UIComponent component) throws IOException {

        ResponseWriter writer = context.getResponseWriter();
        writer.startElement("p", component);
        writer.endElement("p");

    }
}
Run Code Online (Sandbox Code Playgroud)

jsf message renderer

4
推荐指数
1
解决办法
4910
查看次数

使用点划线和虚线绘制问题:如何修改默认线条样式以便更好地使用矢量渲染器"画家"?

Matlab提供以下默认线条样式:

'-'     Solid line (default)
'--'    Dashed line
':'     Dotted line
'-.'    Dash-dot line
Run Code Online (Sandbox Code Playgroud)

前两个是好的,第三个:绝对不是我的口味和渲染严重,最后一个-.只用于像素渲染器(openGL,zbuffer),否则它看起来一样--.但是我想用painters无数个原因来渲染我的图表.这样点划线变得无用:

在此输入图像描述

点划线(蓝色,鲜红色)实际上看起来像虚线(深红色).这是基于矢量图形的PDF的3000%缩放.

这基本上是我生成图形的代码:

set(fig_handle, 'Units','centimeters','PaperUnits','centimeters')
set(fig_handle,'Position',[1 1 width height],...
       'PaperPosition',[0 0 width+margin height+margin],...
       'PaperSize',[width+margin height+margin],...
       'PaperPositionMode','auto',...
       'InvertHardcopy', 'on',...
       'Renderer','painters'...     
   );

saveas(fig_handle,name,'pdf')
Run Code Online (Sandbox Code Playgroud)

我需要第三种线型,你知道有可能创建自定义线型或修改现有线型吗?破折号和点之间的间隙的增加应该已经解决了问题.

标记和像素渲染器的使用是没有选择的!

另外,"遗漏"值的一些"自定义"行不应该是一种选择.

我很感激任何建议.

matlab plot renderer matlab-figure

4
推荐指数
1
解决办法
7646
查看次数

vulkan 中渲染通道、命令缓冲区和清除附件之间的关系是什么?

我目前正在学习 vulkan 并遇到了上述问题,我似乎无法通过阅读规范来回答。

查看规范和代码示例时,它始终是相同的简化工作流程:

begin commandbuffer 
    begin renderpass
        bind stuff (pipeline, buffers, descriptor sets)
        draw
    end renderpass
end commandbuffer

create_submit_info
submit_to_graphics_queue
Run Code Online (Sandbox Code Playgroud)

现在我有点不清楚的第一件事是何时清除附件。如果我使用 LOAD_OP_CLEAR 创建我的附件,那么我必须为 提供明确的值VkRenderPassBeginInfo,但每个命令缓冲区都包含一个vkBeginRenderpass. 那么这是否意味着每个提交的命令缓冲区都会启动一个新的渲染通道并清除附件?这听起来不对。

如果我指定 LOAD_OP_DONT_CARE 那么我必须使用vkCmdClear哪种请求单独的命令缓冲区来清除附件。这也不对。

那么有人可以为我澄清命令缓冲区和渲染通道之间的关系吗?

还是对它的误解vkCmdBeginRenderPass?当一个渲染通道已经在运行时,它实际上不是开始一个新的渲染通道吗?!

感谢您的帮助。

renderer vulkan

4
推荐指数
1
解决办法
1790
查看次数

Android - 从渲染线程中结束活动

下午好.

我不熟悉android中的活动生命周期并尽可能地阅读,但我无法想出如何以一种很好的方式解决以下问题.

我有一个带有GLSurfaceView的活动,可以在屏幕上绘制各种内容.在这个GLSurfaceView的渲染线程中,我执行所有渲染以及实际更新逻辑(我最终会将其分离出来).

我遇到的麻烦来自渲染器中绘制的一个"屏幕"我希望结束Activity并让它调用各种生命周期方法.

通常我可以使用System.exit(0)执行此操作; 但是以这种方式结束活动似乎并没有调用OnStop(); 的OnDestroy(); 方法.

这可能只是我愚蠢而没有看到这样做的简单方法,但有没有办法访问Activity并调用activity.finish(); 无需将参考文件一直传递下去?

这可能不是一个Android问题,更像是一般的java问题?对不起,我两个都有点生疏了.也许如果有人能够大致解释他们如何在他们的应用程序中处理这样的问题.

java lifecycle android renderer android-activity

3
推荐指数
1
解决办法
6964
查看次数

复合JTree节点允许事件传递到下面的对象

我正在尝试创建一个JTree,其中一些节点是包含JLabel和JButton的复合对象.Node表示JLabel显示的服务器和端口,JButton将使用Desktop API打开默认浏览器并转到URL.

我已经阅读了以下内容,并尽可能地密切关注它们.节点显示我想要的方式(主要是 - 我可以处理以后更好),但当我尝试点击按钮时,JTree正在响应事件,而不是按钮.

java swing:为JTree项添加自定义图形按钮

http://www.java2s.com/Code/Java/Swing-JFC/TreeCellRenderer.htm

/sf/answers/263841091/

我需要知道如何允许事件通过JTree,以便它们由下面的对象(JButton或JLabel)处理.

这是我的TreeCellEditor:

public class UrlValidationCellEditor extends DefaultTreeCellEditor
{
    public UrlValidationCellEditor(JTree tree, DefaultTreeCellRenderer renderer)
    {
        super(tree, renderer);
    }

    @Override
    public Component getTreeCellEditorComponent(JTree tree, Object value,
            boolean isSelected, boolean expanded, boolean leaf, int row)
    {
        return renderer.getTreeCellRendererComponent(tree, value, true, expanded, leaf, row, true);
    }

    @Override
    public boolean isCellEditable(EventObject anEvent)
    {
        return true; // Or make this conditional depending on the node
    }
}
Run Code Online (Sandbox Code Playgroud)

这是TreeCellRenderer:

public class UrlValidationRenderer extends DefaultTreeCellRenderer implements TreeCellRenderer
{
    JLabel …
Run Code Online (Sandbox Code Playgroud)

java swing renderer jtree

3
推荐指数
1
解决办法
2713
查看次数

特定行和列的自定义单元格渲染器

puuuuuuf,我开始喜欢摇摆:)我正在尝试编写一个cellRenderer来自定义渲染除第一行和第一列之外的所有单元格.所以我写了以下内容:

public class CustomTableCellRenderer extends DefaultTableCellRenderer {
        public Component getTableCellRendererComponent(JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int column) {
            Component cell = super.getTableCellRendererComponent(table, obj, isSelected, hasFocus, row, column);

            if(row >0&&column>0){
                cell.setBackground(Color.GREEN);
            }

            return cell;
        }
    }
Run Code Online (Sandbox Code Playgroud)

并将渲染器设置如下:

scheduleTable.setDefaultRenderer(Object.class, new CustomTableCellRenderer()); 
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,这种方法将渲染器应用于所有单元格.所以他们都是绿色的.如果我做错了什么,你能帮帮我吗?

提前致谢!

加成

scheduleTable = new JTable() {
                    @Override
                    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
                        Component comp = super.prepareRenderer(renderer, row, column);
                        int modelRow = convertRowIndexToModel(row);
                        int modelColumn = convertColumnIndexToModel(column);
                        if (modelColumn != 0 && …
Run Code Online (Sandbox Code Playgroud)

java swing jtable renderer

3
推荐指数
1
解决办法
1万
查看次数

渲染ClientBehaviorHolder

我正在忙着编写自己的JSF2 UIComponent及其相关的渲染器.我所有UIComponent的工具ClientBehaviorHolder.我不明白的是如何真正渲染ClientBehaviorHolder.

例如,以下代码说明了如何ClientBehaviorHolder在Mojarra中呈现.

private static void renderHandler(FacesContext context,
                                  UIComponent component,
                                  Collection<ClientBehaviorContext.Parameter> params,
                                  String handlerName,
                                  Object handlerValue,
                                  String behaviorEventName,
                                  String submitTarget,
                                  boolean needsSubmit,
                                  boolean includeExec)
    throws IOException {

    ResponseWriter writer = context.getResponseWriter();
    String userHandler = getNonEmptyUserHandler(handlerValue);
    List<ClientBehavior> behaviors = getClientBehaviors(component, behaviorEventName);

    // Don't render behavior scripts if component is disabled
    if ((null != behaviors) && 
        (behaviors.size() > 0) && 
         Util.componentIsDisabled(component)) {
        behaviors = null;
    }

    if (params == null) {
        params = …
Run Code Online (Sandbox Code Playgroud)

ajax renderer custom-component jsf-2

3
推荐指数
1
解决办法
1053
查看次数

Highcharts自定义渲染器图表和工具提示

我们的想法是绘制一个宽度不规则的瀑布图.我们通过将矩形渲染到相应的数据点(为了演示目的而在小提琴中可见)来实现此图表样式.
此外,我们想要添加工具提示并使用鼠标进行此工具提示.

我们面临三个问题:

  1. 当您非常接近图表时,您将看到rect2和rect3以及rect3和rect4在矩形边缘之间显示小间隙.这似乎很奇怪,因为所有的矩形都是通过相同的for循环程序创建的(小提琴中的第68-84行).有任何想法吗?(如果更改图表宽度,间隙可能会消失或发生在其他矩形之间......)

  2. 对于第一个和最后一个矩形,我们想要创建单独的边框.因此,我们为第一个和最后一个矩形(小提琴中的第97,155行)设置了白色边框,然后添加了我们的渲染器路径(虚线,实线)(第221-298行).正如您在rect0的情况下所看到的那样,即使我们使用与矩形相同的绘图坐标,垂直线也不会完全覆盖白色边框.(如果更改图表宽度,问题的严重程度会变得更好甚至更糟)

  3. 我们为渲染器组(rectangulars,dataLabels)渲染了自定义工具提示,并通过mouseover和mouseout事件显示这些工具提示.第一个问题是当悬停dataLabel时工具提示消失了.我们做了一个解决方法(第190-195行),但我们想知道是否有更优雅的方式在rects和labels上显示工具提示.此外,我们希望使工具提示跟随鼠标移动(事件鼠标移动),但我们无法使用此事件来处理我们的示例.

这是我们的小提琴示例

$(function () {


var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        type: 'scatter'
    },
    title: {
        text: 'Custom waterfall with unequal width'
    },
    xAxis: {
        min: 0,
        max: 50,
        reversed: true
    },
    yAxis: {
        title: {
            text: 'Share'
        },
        min: 0,
        max: 100
    },
    tooltip: {
        enabled: false
    },
    legend: {
        enabled: false
    },
    credits: {
        enabled: false
    },
    series: [{
        name: 'basicData',
        visible: true, //for demonstration purpose
        data: [
            [50, 40], …
Run Code Online (Sandbox Code Playgroud)

renderer tooltip highcharts

3
推荐指数
1
解决办法
1万
查看次数