问题标签 [windowed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
26 浏览

c++ - Direct3D 11 IDXGISwapChain::Present() 在 Windows 10 窗口模式下每次调用都会阻塞

我正在试验 Windows 10、Direct3D 11 和 IDXGISwapChain::Present() 函数。当我在全屏模式下调用 Present 函数时,它会将命令排入队列并且直到大约第 4 次调用才会阻塞,这是预期的行为。

但是,当我在窗口模式下调用相同的函数时,它会在第一次调用和每个后续调用时阻塞。

我还尝试将 IDXGIDevice1::SetMaximumFrameLatency 函数设置为不同的值,但在窗口模式下,该函数似乎被忽略了。在全屏模式下,该功能可以正常工作。

我想知道是否有办法绕过 Present 函数在每次调用时阻塞,同时保持窗口模式。

这是我用来对上述问题进行单元测试的 C++ 代码:

如果你运行上面的代码,它会输出:

但是,如果您取消注释 SetFullscreenState 行,则会输出:

在窗口化的情况下,它会从第一次调用开始阻塞。在全屏情况下,它会从第四次调用开始阻塞。

编辑:添加了示例代码。

0 投票
0 回答
77 浏览

apache-kafka - 窗口化 KTable 上的 Kafka 操作

我想在窗口化的 KTable 上做一些进一步的操作。为了提供一些背景知识,我有一个主题的数据形式为:{clientId, txTimestamp, txAmount}。从这个主题,我创建了一个流,由 clientId 分区,底层主题时间戳等于 txTimestamp 事件字段。从这个流开始,我想在每 1 小时窗口中聚合每个 clientId 的事务数。这是通过类似于以下内容完成的: CREATE TABLE transactions_per_client WITH (kafka_topic='transactions_per_client_topic') AS SELECT clientId, COUNT(*) AS transactions_per_client, WINDOWSTART AS window_start, WINDOWEND AS window_end FROM transactions_stream WINDOW TUMBLING (SIZE 1 HOURS) GROUP BY clientId;

聚合按预期工作并产生类似于以下内容的值:

客户 ID Transactions_per_client windows开始 窗口结束
1 12 1 2
2 8 1 2
1 24 2 3
1 19 3 4

我现在要做的是进一步处理此表以添加一个列,该列表示同一客户端的 2 个相邻窗口之间每个客户端的事务数差异。对于上一张表,这将是这样的:

客户 ID Transactions_per_client windows开始 窗口结束 偏差
1 12 1 2 0
2 8 1 2 0
1 24 2 3 12
1 19 3 4 -5

实现这一目标的最佳方法是什么(使用 kafka 流或 ksql)?我尝试使用用户定义的聚合函数来尝试创建此列,但它不能应用于 KTable,只能应用于 KStream。