小编Raw*_*ler的帖子

替换HTMLElement的所有孩子?

在我的代码中,我经常需要用新的子列表替换某个HTML容器的所有子容器.

最快的方法是什么?我目前的方法是将所有新元素收集到DocumentFragment中.我发现然后实际替换孩子的唯一方法是逐个删除所有孩子,并附加片段.有没有更快的方法?

注意:解决方案不需要跨浏览器,但最好不要求使用3d-party组件,如jQuery.目标设备是一个非常慢的CPU 上的WebKit,所以我需要完全控制任何回流.

javascript dhtml

29
推荐指数
4
解决办法
2万
查看次数

是 - >为迭代器my_map.end()定义的第二个?

我正在和一个人一起工作std::map<std::string, MyClass* >.

我想测试是否my_map.find(key)返回特定指针.

现在我正在做;

auto iter = my_map.find(key);
if ((iter != my_map.end()) && (iter->second == expected)) {
    // Something wonderful has happened
}
Run Code Online (Sandbox Code Playgroud)

但是,operator *迭代器的位置需要返回引用.直觉我认为它是有效的并完全初始化?如果是这样,那my_map.end()->second将是NULL,并且(因为NULL从未预料到),我可以将我的if语句减少为:

if (iter->second == expected)
Run Code Online (Sandbox Code Playgroud)

这是否符合规范?有没有人有实际经验?恕我直言,代码变得更加清晰,可能会实现微小的性能提升.

c++ iterator stl

11
推荐指数
1
解决办法
3297
查看次数

在WebKit中测量回流和绘制时间

我正在使用弱CPU和WebKit的嵌入式硬件上设计一个JavaScript/HTML驱动的用户界面.

性能并不理想,我想分析应用程序,特别是重排和重新绘制事件的时间,以获得有关实际性能的硬数据,而不是主观和不断变化的观点.

使用常规"getTime()"之前和之后的时序不起作用,因为WebKit推迟重排并在事件处理程序之后重新绘制.

我已经尝试在Speed Tracer下分析应用程序,但计算非常便宜,回流事件甚至不会出现在PC硬件上.我想一些更专注于回流/重绘的工具可能仍然有用.

有关如何获取硬数据的任何提示?

html javascript profiling webkit reflow

5
推荐指数
1
解决办法
1852
查看次数

标签 统计

javascript ×2

c++ ×1

dhtml ×1

html ×1

iterator ×1

profiling ×1

reflow ×1

stl ×1

webkit ×1