小编rao*_*oof的帖子

寻找一种逐像素绘制的快速方法,为什么这段代码比java慢1000倍?

这是一个简单的代码,只对窗口着色4次.

也许有一些我看不到的明显事物.

我的目标是从头开始学习计算机图形,我想逐个像素地绘制以完全控制.我正在寻找一种快速的方法来做到这一点.

是完整的代码.

相关的clojure部分:

(defmacro for-loop [[sym init check change :as params] & steps]
  `(loop [~sym ~init value# nil]
     (if ~check
       (let [new-value# (do ~@steps)]
         (recur ~change new-value#))
       value#)))
(time
 (for-loop
  [k 0 (< k 2) (inc k)]
  (for-loop
   [c 0 (< c 2) (inc c)]
   (for-loop
    [i 0 (< i width) (inc i)]
    (for-loop
     [j 0 (< j height) (inc j)]
     (aset ^ints @pixels (+ i (* j width)) (get cs c))))
   (.repaint canvas))))
Run Code Online (Sandbox Code Playgroud)

java中的相同代码:

long t …
Run Code Online (Sandbox Code Playgroud)

performance awt clojure

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

标签 统计

awt ×1

clojure ×1

performance ×1