我为管理一些工作项目的形形形景象,建造了一个信库图书馆。 每种形状都是一种带有与之相关的绘画方法的物体。 在“血管”的复习中,每一条形形状都是 drawn。 形状可能带有典型的 mo变性事件,它们都围绕着大概的红外线活动进行。
我发现,野生生物中有一些技术用于探测单个形状的湿度,每个形状体都有作用,但有些则带有很严重的热点。
一种经过清除的幽灵信片本身被用来形成一种个人形态。 然后,我用<代码>getImageData()储存“幽灵”。 你们可以想象,当有许多点发生 mo事件时(960x800 canvas的100个可点击的形状是记忆中的300MB)。
为了回避记忆问题,我开始掌握六氯苯数据,并只把地址储存到有非零甲的六氯苯。 这很好地减少了记忆,但大大增加了邮联的负荷。 我只按每4个指数(RGBA)分类,任何与非零甲型六氯环己烷相配的六氯乙烯单都储存在移动期间作为快速 look的关键。 它在10+秒钟中仍然超载移动浏览器和短链氯化石蜡。
我阅读了一种技术,即所有形状都用彩色打成一只影子,以区别形成每张钢.。 我对这一想法感到非常高兴,因为从理论上讲,它应当能够区分数百万种形状。
不幸的是,这被反恐怖行动所破坏,因为大多数血管都无法致残。 每一 f子都会产生几十种可安全忽略的颜色,但可以融和/或相互重叠。 当有人跨越边界的暴动时,我想发生的最后一件事是,为了与因AA而出现的混杂物有关的无关联的形状,对半暴动事件开火。
I know that this not a new problem for video game developers and there must be fast algorithms for this kind of thing. If anyone is aware of an algorithm that can resolve (realistically) hundreds of shapes without occupying the CPU for more than a few seconds or blowing up RAM consumption dramatically, I would be very grateful.
There are two other Stack Overflow topics on mouseover detection, both of which discuss this topic, but they go no further than the 3 methods I describe. Detect mouseover of certain points within an HTML canvas? and mouseover circle HTML5 canvas.
EDIT: 2011/10/21
我测试了另一种更有活力的方法,它确实需要储存任何东西,但因业绩问题而 cr。 这种方法基本上可以超越形状,并且: (1) 湿度下1x1 克料,2) draw形,3) 湿度下1x1 克。 令人惊讶的是,这部作品在 Chrome和伊埃语中表现得很好,但根据诺言而是错误的。
显然,如果你只想要一个小的平坐区,那么 Chrome和伊埃能够优化,但 Firefox似乎完全根据预期的平坐区优化。 也许在内部,它会得到整个信道,然后回到了你的餐厅。
Code and raw output here: http://pastebin.com/aW3xr2eB.