Polymer支持<style is="custom-style">允许您定义仅适用于元素的样式,例如shadow DOM.
Polymer还支持<dom-module id="shared-styles">允许您打包一组可以导入到元素定义中的样式声明.
因此,它们两者的关键似乎是允许您设计聚合物元素的样式.你为什么要用另一个呢?看来,用例大致重叠.
额外的困惑:shared-styles可以导入custom-style.你为什么要这样做?为什么不?
我正在使用three.js/r87.Chrome 60.0.3112.113.
我构建了2个网格,每个网格使用一个新的ShaderMaterial,因此创建了2个ShaderMaterials.顶点着色器和片段着色器在两者中是相同的,实际上材料是相同的,除了我side=THREE.FrontSide在一种情况下设置而在另一种情况side=THREE.BackSide下.(我正在使用此处建议的解决方法:https://github.com/mrdoob/three.js/issues/2476#issuecomment-9076268).实际上它们并不完全相同,一个顶点着色器有#define FLIP_SIDED,另一个没有.我的着色器不使用FLIP_SIDED,因此不需要这个额外的标志.
所以这个顶点着色器被编译2次,每种材质一次.但是第二次编译它很慢 - 每次5秒左右.
我怎么知道?通过使用Chrome性能分析器.然后我通过在three.js代码中设置一个中断并在慢速语句周围放置时间语句并让它打印出编译速度慢的着色器来确认它,例如:
return function WebGLShader( gl, type, string ) {
var shader = gl.createShader( type );
gl.shaderSource( shader, string );
gl.compileShader( shader );
var t0 = performance.now();
if ( gl.getShaderParameter( shader, gl.COMPILE_STATUS ) === false ) {
console.error( 'THREE.WebGLShader: Shader couldn\'t compile.' );
}
var t1 = performance.now();
if ((t1 - t0) > 1000) {
console.log("------------------Slow compile.----------------");
console.log(string);
}
// .....etc....
Run Code Online (Sandbox Code Playgroud)
}
打印出来的着色器是顶点着色器,在编译的SECOND TIME上.顶点着色器非常简单: …
我正在使用 D3-threeD2.js 将 SVG 文件转换成THREE.Shape(s),然后我可以用three.js挤压。除了孔之外,它工作正常。
假设我有一个甜甜圈形状:一个里面有洞的圆盘。图书馆给了我一张THREE.Shape代表圆盘的一张和一张THREE.Shape代表洞的一张。
我知道如果THREE.Path我有一个THREE.Shape.
那么有没有办法THREE.Path从 a 中获取a THREE.Shape?或者有没有办法THREE.Shape用另一个在 a上打一个洞THREE.Shape?
我正在使用HTML5 SpeechSynthesis API编写一个简单的拼写测试应用程序.我希望我的应用程序说出来的文字如下:"拼写单词是Cat.猫追着狗."
从第一句到第二句,API往往没有太多停顿.我想知道是否有办法在两个句子之间插入一点暂停.我意识到我可以创建2个单独的话语并使用pause()调用.但是,如果我可以简单地插入语法提示,代码将更简单,更简单.
通常在英语口语中,人们倾向于在段落间停留一段时间.所以我在文本中插入了换行符,但没有明显的影响.
我也试过使用省略号.
有没有办法做到这一点,还是我把一切都分成了不同的话语?
我在Java 9之前构建了一个jar。我正在尝试使用Java 9运行该jar中的类。
从我读到的有关自动模块的所有内容来看,这应该可以工作:
java -p lib/Legacy-1.3.0.jar -m Legacy/com.blah.MyClass
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个:
Error: Unable to initialize main class com.blah.MyClass in module module Legacy
Caused by: module Legacy: java.lang.NoClassDefFoundError
Run Code Online (Sandbox Code Playgroud)
是的,com.blah.MyClass是旧版。我可以从自动模块中运行课程吗?为什么module在上面的错误消息中单词重复两次?
如果我跑步,java --list-modules -p lib/Legacy-1.3.0.jar我会看到:
Legacy@1.3.0 file://path/to/jar/Legacy-1.3.0.jar automatic
Run Code Online (Sandbox Code Playgroud)
如果我跑步jdeps --generate-module-info . lib/Legacy-1.3.0.jar,我得到:
module Legacy {
requires java.logging;
requires transitive java.activation;
requires transitive java.xml;
requires transitive java.xml.bind;
requires transitive java.xml.ws;
exports com.blah;
}
Run Code Online (Sandbox Code Playgroud) 写入 DynamoDB 或从 DynamoDB 读取时,您可以指定:ReturnConsumedCapacity。
当您执行此操作时,API 确实返回总CapacityUnits,但我无法让它返回ReadCapacityUnits 或WriteCapacityUnits。该文档表明我们确实应该获取有关 RCU 和 WCU 的数据:https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ConsumedCapacity.html
无论您将 ReturnConsumedCapacity 设置为 TOTAL 还是 INDEXES,情况都是如此。
如果您也只是执行读取查询,这也是正确的。
是否有办法退回 RCU 和 WCU?
这是一个示例查询:
aws.exe dynamodb query \
--table-name tableName \
--index-name GSI1 \
--key-condition-expression "GSI1PK = :pk" \
--expression-attribute-value '{":pk": {"S": "blah"}}' \
--return-consumed-capacity TOTAL
Run Code Online (Sandbox Code Playgroud)
它返回类似这样的内容:
"ConsumedCapacity": {
"TableName": "tableName",
"CapacityUnits": 128.5
}
Run Code Online (Sandbox Code Playgroud)
如果我将请求从 TOTAL 更改为 INDEXES 我得到:
"ConsumedCapacity": {
"TableName": "oaas-performance-table-dev",
"CapacityUnits": 128.5,
"Table": {
"CapacityUnits": 128.5
}
}
}
Run Code Online (Sandbox Code Playgroud)
换句话说,几乎是一样的。无 RCU 或 WCU。
知道如何获取这些附加数据吗?
javascript ×2
three.js ×2
css ×1
html5 ×1
java ×1
java-9 ×1
java-module ×1
polymer-1.0 ×1
webgl ×1