标签: rendering

在Windows上的Mac字体渲染

我喜欢Mac OS 精美呈现字体(不仅仅是浏览器)的方式.我想知道我们是否能以某种方式在Windows上运行的浏览器中获得相同的渲染?

有人推荐sIFR,但我想这在我需要使用非标准字体时很有用吗?

macos fonts rendering

7
推荐指数
3
解决办法
9358
查看次数

更改JTable单元格颜色

这让我非常疯狂.

我知道,要使用JTable更改表格单元格的格式,我必须使用自己的渲染器.但我似乎无法正确实现这一点.

这是我目前的设置:

public class MyClass
{
    public static void main(String args[])
    {
        JTable myTable = new JTable(10, 10);
        myTable.setDefaultRenderer ([I dont know what to put here], new CustomRenderer());
    }
}

class CustomRenderer extends DefaultTableCellRenderer 
{
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    {
        Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

        // Formatting
        return c;
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要为第一个参数使用setDefaultRenderer什么?API只是说'class'.我不知道该放什么.

有人可以用最简单的术语解释我是如何实现这个的吗?请提供一个示例,说明如何从main()方法中更改格式.

java formatting swing rendering jtable

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

有没有支持PC和Mac的图形/游戏引擎?

是否有可在Mac和PC上运行的图形和/或游戏引擎?我见过Unity,这是一种可能性,我想知道是否还有其他选择.

理想情况下,我想将相同的C++游戏代码移植到PC和Mac平台,但让底层游戏/图形引擎利用适当的硬件.

编辑:我正在寻找Torque,Gamebryo和Unreal的水平.商业解决方案完全可以接受.

macos rendering game-engine

7
推荐指数
1
解决办法
727
查看次数

请推荐在Spring MVC 3应用程序中使用的视图技术

我正在寻找哪种视图技术被认为是Spring MVC 3.0的最佳方法,它灵活,可维护并允许多种渲染技术,如HTML,PDF等......

我们正在寻求使用Spring MVC 3.0开发我们的下一个Web应用程序,并且已经确定了Hibernate的持久性,但仍在尝试确定哪种是最合适的视图技术.

我们需要支持PDF报告,但最有可能使用iText写这些报告.

是否有任何maven archtypes可以设置一个完整的持久性和视图技术的推荐应用程序?

Spring样本使用了从JSTL到Apache Tiles的一系列不同技术,我们过去只使用过JSP,因为我们在2003年迁移到.NET并且现在又回到了Java.

java rendering spring-mvc

7
推荐指数
1
解决办法
4786
查看次数

Mocha:如何测试Express渲染视图

- 背景

我正在尝试测试Express应用程序.这对我来说是一个爱好项目,所以我没有使用Express来提供JSON api(通常这样做).

- 问题

问题是,我无法找到一种方法来测试视图的内容,以确保页面实际上是针对项目本身的视图文件呈现的.

- 我试过的

例如,我无法测试一个简单的索引页面,因为该jade文件以extends layout.这使得难以测试是否呈现动态内容.

有没有人建议测试视图是否实际呈现?

it ('renders the index page', function(done) {
  var jade = require('jade');
  var should = require('should');
  var fs = require('fs');

  supertest(app)
    .get('/')
    .expect(200)
    .end(function(err, res) {
      var rawJade = fs.readFileSync('./views/index.jade').toString();
      res.text.should.equal(rawJade.convertToHtml()); // jade supports a function like this
    });
)};
Run Code Online (Sandbox Code Playgroud)

testing rendering mocha.js node.js

7
推荐指数
1
解决办法
1859
查看次数

在three.js中将视频添加为纹理

我正在研究Three.js的这个例子:http://threejs.org/examples/#canvas_geometry_panorama_fisheye

在这个例子中,我使用5个图像和一个视频作为纹理(视频格式为.ogv),而不是使用6个图像.我已按如下方式编辑上述示例以实现我的目标:

video = document.createElement('video');
video.autoplay = true;
video.src = "textures/videos/Row1Col1.ogv";
var videoTexture = new THREE.Texture(video);
    videoTexture.needsUpdate = true;

var materials = [
    videoTexture, // right
    loadTexture( 'textures/cube/Park2/negx.jpg' ), // left
    loadTexture( 'textures/cube/Park2/posy.jpg' ), // top
    loadTexture( 'textures/cube/Park2/negy.jpg' ), // bottom
    loadTexture( 'textures/cube/Park2/posz.jpg' ), // back
    loadTexture( 'textures/cube/Park2/negz.jpg' ) // front
];

mesh = new THREE.Mesh( 
    new THREE.BoxGeometry( 300, 300, 300, 32, 32, 32 ), 
    new THREE.MultiMaterial( materials ) 
);
Run Code Online (Sandbox Code Playgroud)

其余代码与上述示例完全相同.

我没有得到想要的结果(有五个图像渲染到球体上,一个视频在'侧面'上播放),我得到了这个:

在此输入图像描述

图像渲染得很好,但我没有看到视频播放.它的位置只有白色文字.没有其他的.

我是Three.js的新手,我第一次尝试将视频用作纹理.请告诉我如何在指定区域播放视频,请帮助我.

javascript rendering three.js

7
推荐指数
2
解决办法
6930
查看次数

高效的屏幕外UIView渲染和镜像

我有一个"屏幕外"的UIView层次结构,我希望在屏幕的不同位置进行渲染.此外,应该可以仅显示此视图层次结构的一部分,并且应该反映对此层次结构所做的所有更改.

困难:

  • 如果要将所有更改合并到视图层次结构中,则该UIView方法drawHierarchy(in:afterScreenUpdates:)始终调用draw(_ rect:),因此对于大型层次结构而言效率非常低.您必须在每次屏幕更新时重绘它或观察所有视图的所有更改属性.绘制视图层次结构文档
  • 该UIView方法snapshotView(afterScreenUpdates:)也没有多大帮助,因为如果此层次结构是"屏幕外",我还没有找到获得正确视图层次结构图的方法.快照视图文档

"屏幕外":此视图层次结构的根视图不是应用程序UI的一部分.它没有超级视图.

您可以在下面看到我的想法的直观表示:

例

rendering off-screen uiview ios swift

7
推荐指数
1
解决办法
233
查看次数

JavaScript:路口观察器 VS 滚动

我想测试大内容的渲染效果\n所以,我使用两种方式来测试滚动10000个文本div时的速度

\n\n
// getBoundingClientRect\nfunction lazyLoading_useRect() {\n    let root = document.getElementById(\'root\');\n\n    root.addEventListener(\'scroll\', function(e) {\n        root.childNodes[0].childNodes.forEach(node => {\n            let nodeTop = node.getBoundingClientRect().top; \n            if (nodeTop > -root.offsetHeight && nodeTop < root.offsetHeight) displayBlock(node, true);\n            else displayBlock(node, false);\n        });\n\n    });\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

和

\n\n
function lazyLoading_useIO() {\n    function callback(entries, observer) {\n        entries.forEach((entry, index)\xc2\xa0=>\xc2\xa0{\n            if (entry.isIntersecting) { \n                displayBlock(entry.target, true);\n            } else {\n                displayBlock(entry.target, false);\n            }\xc2\xa0\n      });\xc2\xa0\xc2\xa0\n    }\n\n    const\xc2\xa0options\xc2\xa0=\xc2\xa0{\n      root:\xc2\xa0document.querySelector(\'#root\'),\n      rootMargin:\xc2\xa0\'0px\',\n      threshold:\xc2\xa0[0]\n    };\xc2\xa0\xc2\xa0\n\n    const\xc2\xa0observer\xc2\xa0=\xc2\xa0new\xc2\xa0IntersectionObserver(callback,\xc2\xa0options);\n    const\xc2\xa0eles\xc2\xa0=\xc2\xa0document.querySelectorAll(\'#block\');\xc2\xa0\n    eles.forEach(ele => observer.observe(ele));\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我以为IntersectionObserver会比getBoundingClientRect更快\n但是为什么IntersectionObserver要花很多时间来绘制呢?

\n\n

在此输入图像描述

\n

javascript browser scroll rendering intersection-observer

7
推荐指数
0
解决办法
1714
查看次数

浏览器如何渲染实际像素

我正在寻找有关浏览器如何在屏幕上呈现/绘制实际像素的解释。
我发现这个答案包含关于浏览器如何从 html 和 css 到屏幕上的实际表示的伟大图像。

在此处输入图片说明

但这并没有向我解释实际的绘画步骤是如何实现的。那么实际的框架树是如何绘制的呢?

它是用顶点缓冲区和着色器完成的吗?

例如:一个 div 可以通过创建一个四边形来渲染,然后用一个着色器渲染这个四边形,例如根据样式向 div 添加边框、圆角等?

或者是否使用了其他技术?

这将如何处理长文本?为每个字母生成一个四边形听起来不是很高效?

如果需要额外的上下文或说明,请告诉我!

browser rendering html-rendering

7
推荐指数
1
解决办法
172
查看次数

如何测量Vulkan管道的执行时间

概括

我希望能够测量 GPU 上运行整个图形管道所花费的时间(以毫秒为单位)。目标:能够在优化代码之前/之后保存基准(下一步将是 mipmap 纹理)以查看改进。这在 OpenGL 中非常简单,但我是 Vulkan 的新手,需要一些帮助。

我浏览了相关的现有答案(此处和此处),但它们并没有太大帮助。而且我在任何地方都找不到代码示例,所以我敢在这里提问。

通过文档页面,我发现了一些我认为应该使用的函数,因此我设置了如下所示的功能:

1:创建查询池

void CreateQueryPool()
{
    VkQueryPoolCreateInfo createInfo{};
    createInfo.sType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO;
    createInfo.pNext = nullptr; // Optional
    createInfo.flags = 0; // Reserved for future use, must be 0!

    createInfo.queryType = VK_QUERY_TYPE_TIMESTAMP;
    createInfo.queryCount = mCommandBuffers.size() * 2; // REVIEW

    VkResult result = vkCreateQueryPool(mDevice, &createInfo, nullptr, &mTimeQueryPool);
    if (result != VK_SUCCESS)
    {
        throw std::runtime_error("Failed to create time query pool!");
    }
}
Run Code Online (Sandbox Code Playgroud)

我的想法是queryCount = mCommandBuffers.size() * 2在渲染之前和之后为单独的查询时间戳留出空间,但我不知道这个假设是否正确。

2:记录命令缓冲区 …

time rendering vulkan

7
推荐指数
1
解决办法
2674
查看次数